如何找到包含特定文本的第二个图像

时间:2019-05-01 09:52:25

标签: java selenium selenium-webdriver xpath webdriver

该网站具有标准图像,可用于标识xpath。 但我想单击仅包含特定文本的第三张图像。 图片在图片旁边,可以在一个命令行中包含img和文本吗?

  • 原始工作代码:

    driver.findElement(By.xpath("(//img[@class='s-image'])[2]")).click();
    
  • 尝试插入contains命令,但不起作用:

    driver.findElement(By.xpath("(//img[@class='s-image'])[2] and contains(text(),'Apple MacBook Pro')")).click();
    

1 个答案:

答案 0 :(得分:2)

您尝试了错误的选项,该选项不是可以进入xpath的alt属性的文本。立即尝试。

driver.find_element_by_xpath("(//img[@class='s-image'][contains(@alt,'Apple MacBook Pro')])[2]").click()

OR

driver.find_element_by_xpath("(//img[@class='s-image'][starts-with(@alt,'Apple MacBook Pro')])[2]").click()