在我的測試中,我需要等待頁面加載才能繼續。因爲某些原因,waitForSelector
和waitForText
不工作,雖然我可以只使用wait(value)
,但我必須考慮服務器可能會變慢的時間,並使價值比我想要的大得多;所以我正在考慮做一個while循環,告訴系統每次返回時等待500毫秒,因爲頁面上不存在'someCSSpath'。有沒有辦法做到這一點(可能是「casper.DoesntExist'?),或者沒有更好的辦法來做到這一點?等待頁面加載CasperJS
var css3path = "body > div.container-fluid > div:nth-child(3) > div.row.ng-scope > div:nth-child(1) > a > div";
casper.waitForSelector(css3path , function(){
this.test.assertExists(css3path);
if (casper.exists(css3path){
this.echo("logged in!");}
else{
this.echo("not logged in");
};
});
當我使用一個casper.wait(6000, function(){
而不是waitForSelector
,它工作正常。
我使用waitforselector以及相同的格式,這也是可行的;我認爲這是我正在尋找的具體事情,這給我帶來麻煩
此外,當我使用wait(6000,
測試發現CSS3路徑就好了;它只是waitForSelector
找不到它
這正是'waitForSelector()'。你可能沒有正確使用它。請顯示您的代碼,您希望發生什麼以及實際發生了什麼(包括錯誤消息,屏幕截圖說明)。爲了安全起見:請註冊到'resource.error','page.error','remote.message'和'casper.page.onResourceTimeout'事件([Example](https://gist.github。 COM/artjomb/4cf43d16ce50d8674fdf))。也許有錯誤。 –
您確定存在CSS選擇器。也許你正在檢查一個基於桌面的CSS選擇器,但PhantomJS加載了沒有這種選擇器的移動網站。 –
您使用哪個PhantomJS版本?在v1.x中有一個錯誤:第n個子選擇器 –