我想为网页的外部文件设置超时。
例如,我的页面index.php
包含 images1.jpg
和. 并且体积小,加载速度快,但非常大。我想在网页完全加载后立即进入下一步,或者在开始后最多 10 秒。2.jpg
3.jpg
1.jpg
2.jpg
3.jpg
如何用 CasperJS(或 PhantomJS)做到这一点?
我想为网页的外部文件设置超时。
例如,我的页面index.php
包含 images1.jpg
和. 并且体积小,加载速度快,但非常大。我想在网页完全加载后立即进入下一步,或者在开始后最多 10 秒。2.jpg
3.jpg
1.jpg
2.jpg
3.jpg
如何用 CasperJS(或 PhantomJS)做到这一点?
@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 }})
如果使用 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(){ ... }