2013-05-01 53 views
0

我剛剛開始與casperjs和js試圖讓它導航到一個新的頁面。Casperjs如何到達下一頁

有看起來像這樣的頁面上有多個類似鏈接:

<a href="#" onclick="GoToPage(1)"><font class="IndexLink">2</font></a> 
<a href="#" onclick="GoToPage(2)"><font class="IndexLink">2</font></a> 
<a href="#" onclick="GoToPage(3)"><font class="IndexLink">2</font></a> 
<a href="#" onclick="GoToPage(4)"><font class="IndexLink">2</font></a> 
.etc. 

我第1頁試圖去第2頁上這裏是部分代碼:

pageNumber=2; // hard coded for now. 
var target = 'a[onclick="GoToPage('+ pageNumber + ')"]'; 
this.test.assertSelectorExists(target); 
this.click(target); 

我進行測試以確保選擇器有效並且測試通過。在調試輸出中,我看到請求的是url更改,但它似乎與第2頁上的頁面相同。

對於此代碼段的調試輸出:

PASS找到匹配的元素:a [onclick =「GoToPage(2)」] [debug] [phantom]鼠標事件點擊選擇器:a [onclick =「GoToPage(2)」] [debug] [幻像]導航請求:url = http://www.clermontauditorrealestate.org/search/advancedsearch.aspx?mode=advanced#,type = LinkClicked,lock = true,isMainFrame = true [debug] [phantom] url改爲「http://www.clermontauditorrealestate.org/search/advancedsearch.aspx?mode=advanced#」 [info] [phantom]第5/6步:在2880ms完成。 [信息] [幻影步驟6/6 http://www.clermontauditorrealestate.org/search/advancedsearch.aspx?mode=advanced#(HTTP 200) [調試] [幻]捕獲頁面/Users/willirl/a-will-1-screenshot.png

這是一個公共網站我在拼搶,所以我可以發佈完整的20行代碼,如果這將有所幫助。

任何幫助表示讚賞。

回答

0

如果在點擊後立即加載新頁面,您將如何處理?

如果是,我建議使用thenClickthen在它後面執行一些操作。 注意,如果要執行實例的開始和所有後續步驟,則必須爲您的實例調用run()