Javascript 单击带有CasperJS的第二个图像

Javascript 单击带有CasperJS的第二个图像,javascript,click,casperjs,Javascript,Click,Casperjs,我的网站上有两个图像按钮,如下所示: <img class="img" src="img.png" alt="Image"> <img class="img" src="img.png" alt="Image"> 此代码将仅单击第一个按钮 但是,怎么可能只单击第二个按钮呢?是的,使用XPath: var x = require('casper').selectXPath; ... this.click(x('(//img[@src="img.png"])[2]'));

我的网站上有两个图像按钮,如下所示:

<img class="img" src="img.png" alt="Image">
<img class="img" src="img.png" alt="Image">
此代码将仅单击第一个按钮

但是,怎么可能只单击第二个按钮呢?

是的,使用XPath:

var x = require('casper').selectXPath;
...
this.click(x('(//img[@src="img.png"])[2]'));
说明:

  • /
    从根节点“搜索”每个子节点
  • img[@src=“img.png”]
    匹配img(两幅图像)
  • (节点列表)[2]
    获取节点列表的第二个结果
关键部分是最后一点,因为CSS选择器在一般情况下没有该操作符,但它们有类似的东西

如果图像具有相同的父级,并且在同一父级下没有其他图像,则可以执行以下操作:

this.click('img[src="img.png"]:nth-child(2)');
this.click('img[src="img.png"]:nth-child(2)');