【发布时间】:2013-08-14 23:26:50
【问题描述】:
我是casperjs新手,据我目前了解到的,只有两种点击方法可以触发鼠标动作:
-
click()需要选择器 -
clickLabel()需要标签之间的“标签”
我现在处理的网站有动态的“标签”,通过点击每个标签,一个javascript提交被触发,没有与每个标签关联的“类”、“id”或“标签”,除了“图片”元素:
<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 提交选项卡程序都与一个唯一相关联“图像#on/off.gif”
希望 casperjs 的一些贡献者能够轻松实现这种方法来处理这种情况。
【问题讨论】:
-
对了,如果有其他方法可以绕过,请教教我,具体来说,如何点击标签号与后面的记录字段没有关联的特定标签,但我想要特定的记录字段而不是 No.# 选项卡的信息,我希望我足够具体
-
非常感谢您的编辑工作,rgettman
标签: javascript html tabs click casperjs