2

我想为网页的外部文件设置超时。

例如,我的页面index.php包含 images1.jpg和. 并且体积小,加载速度快,但非常大。我想在网页完全加载后立即进入下一步,或者在开始后最多 10 秒。2.jpg3.jpg1.jpg2.jpg3.jpg

如何用 CasperJS(或 PhantomJS)做到这一点?

4

2 回答 2

3

@Kevin - 没有看到你的代码,几乎不可能真正理解你在问什么。我假设由于您似乎不需要提供有关文档加载的建议,因此您正在寻找的超时在 casper 中是 100% 作为场景/测试的一部分。

也就是说,您需要研究的是用于异步操作的 Casper 测试框架 :http: //docs.casperjs.org/en/latest/modules/tester.html#begin 再加上 casper 选择器位:http: //docs.casperjs.org/en/latest/selectors.html

您应该能够运行 casper.start 或 casper.wait。 http://docs.casperjs.org/en/latest/modules/casper.html#wait Casper.start 似乎没有超时作为参数,所以如果您询问是否要进入 casper.start 的下一步超时到期后,那会更复杂。

简而言之,请对您的实际问题提供更好的解释。PS。除非你真的想测试加载的图像(比如布局或屏幕截图测试),否则你总是可以传递标志来运行 Casper,而不是让它加载图像:

var casper = require('casper').create({ pageSettings: { loadImages: false }})
于 2013-09-30T21:07:51.770 回答
1

如果使用 jQuery,jQuery 的 load() 也将有助于实现您的目标:

http://api.jquery.com/load-event/

例子:

$(window).load(function(){
alert('This alert will be shown after the page is fully loaded with all images etc.');
});

使用 Vanilla JS,尝试window.onload = function(){ ... }

于 2013-08-21T13:07:30.163 回答