Нажатие на идентичное изображение, имеющее тот же самый src, что и другие изображения, и без ссылки в Selenium - PullRequest
0 голосов
/ 21 мая 2018

У меня есть 3 строки в структуре, похожей на таблицу, где изображение присутствует как кнопка редактирования для всех 3 строк по отдельности, но идентично.чтобы отредактировать эту строку, мне нужно нажать на это изображение, но у него есть следующие свойства: и этот идентификатор (1526885146519) является динамическим. Мне нужно нажимать все кнопки редактирования по одной.Что я должен сделать, чтобы щелкнуть по ним?

<img src="../../../Intranet/Images/if_edit_173002.png" 
     onclick="fnEditRow(1526885146519);" 
     style="cursor: pointer; margin-right: 3px; margin-left: 3px; wdith; width:18px; height:18px;" 
     title="Eidt Item">

Строки таблицы Свойства HTML-

G450A1SK1200A00G450A1SK1200A00E-Active1668.70668.700.00Pending FRSM15062411200FRSM15062411200E-ACTIVE132.00E-310102.003406.400.00Pending

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете использовать либо x-path, либо css-selector, чтобы найти их.

Возможные пути xpath:

//img[@src="../../../Intranet/Images/if_edit_173002.png"]
//img[@src="../../../Intranet/Images/if_edit_173002.png" and @title="Edit Item"]
//img[@title="Edit Item"]
//img[starts-with(@onclick,'fnEditRow')]

css selector

img[src="../../../Intranet/Images/if_edit_173002.png"]
img[title="Edit Item"]

илиесли он находится под табличным тегом, вы можете использовать x-путь, например

//table/tr/td[last()]/img

, вы можете использовать элементы find веб-драйвера, чтобы получить все элементы и выполнить цикл, как показано ниже.

Я использую Java здесь,

List<WebElement> lstElements = driver.findElements(By.xpath("//img[@title=\"Edit Item\"]");
for(WebElement ele:lstElements){
   ele.click();
   //do other stuffs
}

или использую Index для получения определенных индексированных элементов, таких как

(//img[@src="../../../Intranet/Images/if_edit_173002.png"])[1] -- first edit button

(//img[@src="../../../Intranet/Images/if_edit_173002.png"])[2] -- second edit button

(//img[@src="../../../Intranet/Images/if_edit_173002.png"])[3] -- third edit button
...