该网站具有标准图像,可用于标识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();
答案 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()