我是 casperjs 的新手,据我所知,目前只有两种点击方法可以触发鼠标操作:
click()
需要一个选择器clickLabel()
标签之间需要“标签”
我现在处理的网站有动态的“标签”,通过点击每个标签,一个javascript提交被触发,除了“pic”元素之外,没有与每个标签关联的“class”、“id”或“label” :
<a href="javascript:submitTab('search6')" tabindex="6">
<img src="image6off.gif" name="imag6" height="6" hspace="0" vspace="0" border="0" onmouseover="nbGroup('over','imag6','image6on.gif','image6on.gif',1);" onmouseout="nbGroup('out');" onclick="nbGroup('down','group1','imag6','image6off.gif',1); submitTab('search6')" alt="New Search">
</a>
我尝试使用clickLabel()
但失败了。
是的,我可以使用 XPath,但问题是选项卡的数量是动态的,具体取决于每条记录的可用信息,因此在这种情况下,“新搜索”可能是该记录的选项卡 6,但另一个选项卡是选项卡 4,选项卡 8 在完后还有。
是的,我可以尝试编写一个“循环”来遍历所有可用的选项卡,但是,如果有一种单击方法可以结合
waitForResource()
那太好了,因为我可以使用“image6on.gif”来告诉程序要单击哪个图像或选项卡,显然,对于这个网站,我发现每个不同的 javascript 提交选项卡程序都与一个“图像#”唯一相关联开/关.gif"
我希望 casperjs 的一些贡献者可以轻松地实现这种方法来处理这种情况。