使用CasperJS为网页的外部文件设置超时

时间:2013-08-21 12:48:39

标签: javascript casperjs

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

例如,我的网页index.php包含图片1.jpg2.jpg3.jpg1.jpg2.jpg很小且加载速度很快,但3.jpg非常大。我想在网页完全加载后立即进入nextstep,或者在开始后最多10秒后进入nextstep。

如何使用CasperJS(或PhantomJS)?

2 个答案:

答案 0 :(得分: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 }})

答案 1 :(得分: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(){ ... }