Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SeleniumWebDriver和Java编写定位器来单击img?_Java_Selenium_Xpath_Css Selectors_Webdriverwait - Fatal编程技术网

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

如何使用SeleniumWebDriver和Java编写定位器来单击img?,java,selenium,xpath,css-selectors,webdriverwait,Java,Selenium,Xpath,Css Selectors,Webdriverwait,我需要使用SeleniumWebDriverJava单击带有锚定标记的图像 简单xpath: a.tableIcon img 如果您有多个链接,并且“2309234_2_2_0”是唯一标识符,则请使用下面的用户 a[href$="COMPLETEJS_2309234_2_2_0')"] img 尝试下面的Xpath。它应该可以工作 "//a[@class='tableIcon']/img" 由于元素是一个动态元素,您必须诱导WebDriverWait使元素可访问,并且您可以使用以下任一选

我需要使用SeleniumWebDriverJava单击带有锚定标记的图像

简单xpath:

a.tableIcon img
如果您有多个链接,并且“2309234_2_2_0”是唯一标识符,则请使用下面的用户

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

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

"//a[@class='tableIcon']/img"
由于元素是一个动态元素,您必须诱导WebDriverWait使元素可访问,并且您可以使用以下任一选项:

  • Java解决方案:

    • css选择器

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

Hi@supputuri..这就是我面临的问题“a[href$=”COMPLETEJS_2309234_2_2_0')”]img“这里2309234是动态值,它每次都在变化……还有其他方法吗?你有多个与“COMPLETEJS”的链接吗?如果你知道2309234处的动态值,那么你可以用新值替换它?您能否从应用程序中获取动态值(例如:如果2309234是订单号,我们可以在订单后获取该值)。请围绕该链接阅读html代码片段,以便我了解更多信息。你能缩小你的问题范围吗。通读并阅读。