Как написать локатор для клика на IMG, используя Selenium Webdriver и Java? - PullRequest
0 голосов
/ 08 марта 2019

Мне нужно щелкнуть изображение с тегом привязки с помощью 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 ]

0 голосов
/ 08 марта 2019

Попробуйте приведенный ниже Xpath. Он должен работать.

"//a[@class='tableIcon']/img"
0 голосов
/ 09 марта 2019

Поскольку элемент является динамическим элементом , вы должны вызвать WebDriverWait для elementToBeClickable , и вы можете использовать любую из следующих стратегий локатора

  • 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();
      
0 голосов
/ 08 марта 2019

Простой xpath:

a.tableIcon img

, если у вас несколько ссылок, а "2309234_2_2_0" является уникальным идентификатором, используйте нижеприведенный пользователь.

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