我想爲網頁的外部文件設置超時時間。使用CasperJS設置網頁外部文件的超時時間
例如,我的頁面index.php
其中包含圖像1.jpg
,2.jpg
和3.jpg
。 1.jpg
和2.jpg
很小,加載很快,但是3.jpg
非常大。我希望在網頁完全加載後立即進入下一步,或者在開始之後最多10秒。
如何用CasperJS(或PhantomJS)做到這一點?
我想爲網頁的外部文件設置超時時間。使用CasperJS設置網頁外部文件的超時時間
例如,我的頁面index.php
其中包含圖像1.jpg
,2.jpg
和3.jpg
。 1.jpg
和2.jpg
很小,加載很快,但是3.jpg
非常大。我希望在網頁完全加載後立即進入下一步,或者在開始之後最多10秒。
如何用CasperJS(或PhantomJS)做到這一點?
如果使用jQuery,jQuery的負載()也將幫助你的目標:
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.');
});
香草JS,嘗試window.onload = function(){ ... }
@Kevin - 沒有看到你的代碼就幾乎不可能真正理解你在問什麼。我認爲,由於您似乎不需要提供關於文檔加載的建議,因此您正在尋找的超時作爲場景/測試的一部分是100%。
這就是說,你需要考慮將是異步的行動卡斯帕測試框架又是什麼:http://docs.casperjs.org/en/latest/modules/tester.html#begin再加上卡斯帕選擇位:http://docs.casperjs.org/en/latest/selectors.html
您應該能夠運行casper.start或卡斯帕。等待。 http://docs.casperjs.org/en/latest/modules/casper.html#wait Casper.start似乎沒有超時作爲參數,因此如果您在超時過期後詢問是否移動到casper.start的下一步,那將會更加複雜。
總之,請提供一個更好的解釋你的實際問題。 PS。除非你真的想測試負載(如佈局或截圖測試)的影像,然後你可以隨時通過運行卡斯帕,並沒有它加載圖片的標誌:
var casper = require('casper').create({ pageSettings: { loadImages: false }})
你的意思是你想跳過加載3.jpg直到頁面完全加載? –
我想這就是你要找的東西:http://stackoverflow.com/questions/1033398/execute-javascript-when-page-has-fully-loaded – Disa
我想用CasperJS來做到這一點。我希望在min(all_page_loaded,10_seconds)期間等待頁面加載。 – Kevin