我的网站上有2个图像按钮,如下所示:
<img class="img" src="img.png" alt="Image">
<img class="img" src="img.png" alt="Image">
这是我的代码:
this.click('img[src="img.png"]');
此代码仅点击第一个按钮。
但是如何只点击第二个按钮呢?
答案 0 :(得分:2)
是的,使用XPath:
var x = require('casper').selectXPath;
...
this.click(x('(//img[@src="img.png"])[2]'));
说明:
//
在根img[@src="img.png"]
匹配img(两张图片)(nodelist)[2]
获取nodelist
关键部分是最后一点,因为CSS选择器一般没有那个运算符,但它们有类似的东西。
如果图像具有相同的父级,并且同一父级下没有其他图像,则可以执行以下操作:
this.click('img[src="img.png"]:nth-child(2)');