如何使用只有 SRC 的 Selenium 单击图像
Posted
技术标签:
【中文标题】如何使用只有 SRC 的 Selenium 单击图像【英文标题】:How to click an image with Selenium with only an SRC 【发布时间】:2013-08-26 18:23:23 【问题描述】:<td colspan="2" align="center">
<img src="web/L001/images/IMAGENAME.jpg" border="0" onclick="javascript: MessageDisplay()" ></td>
这是我要点击的元素。 我尝试的代码:
WebElement temp = driver.findElement(By.xpath("web/L001/images/Phishing_12.jpg"));
temp.click();
我什至尝试了完整的地址,但任何想法都将不胜感激。
我使用它来登录各种网站,但这个特定的网站会弹出一个网页,然后我必须单击该元素才能继续。 -谢谢
【问题讨论】:
您没有使用正确的图像 xpath。这就是为什么你会遇到错误消息 【参考方案1】:这个 xpath 应该可以找到它
WebElement temp = driver.findElement(By.xpath("//img[@src='web/L001/images/IMAGENAME.jpg']"));
或者像这样使用包含
WebElement temp = driver.findElement(By.xpath("//img[contains(@src,'web/L001/images/IMAGENAME.jpg')]"));
但我认为问题在于您不是 wait
ing 的元素。
【讨论】:
【参考方案2】:通常 CSS 选择器优于 xpath。这就是我推荐的原因:
WebElement temp = driver.findElement(By.cssSelector("img[src='web/L001/images/IMAGENAME.jpg']"));
【讨论】:
您也可以使用通配符,以便By.cssSelector("a[src='web/L001/images/IMAGENAME.jpg']")
可以表示为By.cssSelector("a[src*='MAGENAME.jpg']")
很确定这应该是By.css("img[src='web/L001/images/IMAGENAME.jpg']")
以上是关于如何使用只有 SRC 的 Selenium 单击图像的主要内容,如果未能解决你的问题,请参考以下文章
如何单击其href在Selenium中具有某个子字符串的链接?
Selenium 在使用 Python 时无法单击“获取数据”按钮
如何使用 Selenium 和 Java 单击具有 SVG 子项的链接?