【问题标题】:Click the second image with CasperJS用 CasperJS 点击第二张图片
【发布时间】:2015-11-14 00:13:50
【问题描述】:

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

<img class="img" src="img.png" alt="Image">
<img class="img" src="img.png" alt="Image">

这是我的代码:

this.click('img[src="img.png"]');

这段代码只会点击第一个按钮。

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

【问题讨论】:

    标签: javascript click casperjs


    【解决方案1】:

    是的,使用 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)');
    

    【讨论】:

      猜你喜欢
      • 2016-08-13
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2022-07-25
      • 1970-01-01
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      相关资源
      最近更新 更多