Как найти xpath с несколькими условиями содержит - PullRequest
0 голосов
/ 27 апреля 2020

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

. Xpath, который я хочу найти, - это только ячейка со значком ссылки. Как я могу найти XPath, который даст эту ячейку, потому что ячейка «Защита паролем», которая является фотографиями выше, имеет только значок ссылки?

Таблица Css здесь

Когда я попробовал следующий код, дал ячейку , которая является и ссылкой, и значком плагина.

//table[@id='DataTables_Table_1']//tbody//td//i[contains(@class,'fa fa-link') and not(contains(@class,'fa-paperclip'))]

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Можно использовать:

//table//td[not(self::td[i[contains(@class,'fa-paperclip')]])]

Вывод: узел защиты паролем

или менее безопасный:

//table//td[count(./i)=1 and i[@class="fa fa-link mailIcon"]]

Вывод: узел защиты паролем

Почему бы вам не использовать класс c форму и искать текст? :

//table//td[text()[1][contains(.,"Password Security")]]

Вывод: узел защиты паролем

0 голосов
/ 27 апреля 2020

Для меня было решением перечислить ячейки, которые не содержат значок плагина и имеют значок.

//table[@id='DataTables_Table_1']//td[3][not(i[contains(@class,'fa-paperclip')]) and (i)]
...