【问题标题】:Selenium find and click img with a text inside divSelenium 查找并单击带有 div 内文本的 img
【发布时间】:2018-03-20 12:34:08
【问题描述】:

我是 selenium 中的 xpaths 的新手,并尝试单击下面代码中的 Next> 图像/按钮。我已经尝试遵循两个 xpath,但它不起作用并且没有给出未找到元素的错误。

By.xpath("//div[@class='pzbtn-mid']/img[contains(text(), \"Next >\")]"))
By.xpath("//div[@class='pzbtn-mid']/img[contains(text(), 'Next >')]"))

我在这里做错了什么?

<div class="pzbtn-mid" data-bindprops="innerHTML" data-click="...."> ==$0
<img src="webwb/zblankimage.gif" alt="" class="pzbtn-i">
"Next >"
<img alt="" src="webwb/zblankimage.gif" class="pzbtn-i">

【问题讨论】:

    标签: java selenium xpath selenium-webdriver


    【解决方案1】:

    根据您在 下一步> 图像/按钮上分享给 click()HTML,您可以使用以下 xpath

    By.xpath("//div[@class='pzbtn-mid']/img[@class='pzbtn-i' and @src='webwb/zblankimage.gif']"))
    

    注意:文本 Next > 不在任何&lt;img&gt; 标签内,而是在&lt;div&gt; 标签内。因此,要点击 图像/按钮,您必须到达 &lt;img&gt; 标记。

    【讨论】:

      【解决方案2】:

      你也可以在下面使用xpath,

      By.xpath("//div[contains(@class,'pzbtn-mid') and contains(.,'Next >')]//img")
      

      如果 img 属于下一个,则单击第一个图像。否则,您应该单击下面的第二个图像;

      driver.findElementsBy((By.xpath("above xpath")).get(1));
      

      【讨论】:

        猜你喜欢
        • 2017-10-27
        • 2022-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多