如何使用 Selenium Webdriver 和 Java 编写定位器来单击 img?
How to write a locator to click the img using Selenium Webdriver and Java?
我需要使用 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:
a.tableIcon img
如果您有多个链接并且“2309234_2_2_0”是唯一标识符,则使用以下内容。
a[href$="COMPLETEJS_2309234_2_2_0')"] img
尝试以下 Xpath.It 应该有效。
"//a[@class='tableIcon']/img"
由于元素是 动态元素,您必须为 elementToBeClickable 引入 WebDriverWait您可以使用以下任一项 :
Java 解法:
cssSelector
:
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.tableIcon[title='Complete Step']>img[title='Complete Step'][src*='complete-job-step']"))).click();
xpath
:
new 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。
<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:
a.tableIcon img
如果您有多个链接并且“2309234_2_2_0”是唯一标识符,则使用以下内容。
a[href$="COMPLETEJS_2309234_2_2_0')"] img
尝试以下 Xpath.It 应该有效。
"//a[@class='tableIcon']/img"
由于元素是 动态元素,您必须为 elementToBeClickable 引入 WebDriverWait您可以使用以下任一项
Java 解法:
cssSelector
:new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.tableIcon[title='Complete Step']>img[title='Complete Step'][src*='complete-job-step']"))).click();
xpath
:new 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();