0

我刚开始使用 casperjs 和 js,试图让它导航到新页面。

页面上有多个类似的链接,如下所示:

<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] [phantom] 请求导航: 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:在 2880 毫秒内完成。[信息] [幻影] 第 6/6 步http://www.clermontauditorrealestate.org/search/advancedsearch.aspx?mode=advanced# (HTTP 200) [调试] [幻影] 将页面捕获到 /Users/willirl/a- will-1-screenshot.png

这是我正在抓取的公共网站,因此如果有帮助,我可以发布完整的 20 行左右的代码。

任何帮助表示赞赏。

4

1 回答 1

0

您如何在点击后立即判断是否加载了新页面?

如果是,我建议使用thenClick然后在它之后执行一些操作。请注意,如果要执行实例的启动和所有 then 步骤,则必须为实例调用 run()

于 2013-07-25T08:13:19.823 回答