为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

临摹微笑 2022-07-27 11:26:42
我需要使用 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>
查看完整描述

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

试试下面的 Xpath。它应该可以工作。

"//a[@class='tableIcon']/img"


查看完整回答
反对 回复 2022-07-27
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

简单的xpath:

a.tableIcon img

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

a[href$="COMPLETEJS_2309234_2_2_0')"] img


查看完整回答
反对 回复 2022-07-27
?
万千封印

TA贡献1891条经验 获得超3个赞

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

  • 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();



查看完整回答
反对 回复 2022-07-27
  • 3 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信