如何使用Selenium Webdriver和Java编写定位器来单击img?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Selenium Webdriver和Java编写定位器来单击img?相关的知识,希望对你有一定的参考价值。

我需要使用Selenium Webdriver Java单击带有锚标记的图像。

<a title="Complete Step" class="tableIcon"           href="javascript:__doPostBack('__Page','COMPLETEJS_2309234_2_2_0')">
	<img title="Complete Step" style="BORDER-LEFT-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-TOP-WIDTH: 0px" src="/BTC/images/complete-job-step.png">
</a>
答案

试试下面的Xpath.It应该工作。

"//a[@class='tableIcon']/img"
另一答案

简单的xpath:

a.tableIcon img

如果您有多个链接并且“2309234_2_2_0”是唯一标识符,则请在下方使用。

a[href$="COMPLETEJS_2309234_2_2_0')"] img
另一答案

由于元素是动态元素,因此必须为elementToBeClickable引入WebDriverWait,并且可以使用以下任一Locator Strategies

  • Java解决方案: cssSelectornew WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.tableIcon[title='Complete Step']>img[title='Complete Step'][src*='complete-job-step']"))).click(); xpathnew WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='tableIcon' and @title='Complete Step']/img[@title='Complete Step' and contains(@src, 'complete-job-step')]"))).click();

以上是关于如何使用Selenium Webdriver和Java编写定位器来单击img?的主要内容,如果未能解决你的问题,请参考以下文章

python selenium模拟滑动操作

Selenium & webdriver.io 如何使用 executeScript?

如何使用selenium webdriver来判断一个网页加载完毕

如何使用PHP绑定设置Selenium(WebDriver和Server)

如何使用 Java 在 selenium webdriver 中打开新选项卡,或者如何使用 selenium webdriver 使用动作类在 selenium 中按 ctrl + T [重复]

如何使用 Selenium WebDriver 和 Java 处理日历弹出窗口?