Как получить xpath для приведенного ниже класса img, имеющего те же значения? - PullRequest
0 голосов
/ 25 января 2019

Как получить xpath для приведенного ниже класса img, имеющего те же значения?Только описанная ария уникальна, я хочу нажать на первое изображение

<img aria-label="More Detail" aria-describedby="card-heading_507" aria-expanded="false" role="button" tabindex="0" src="/ui/services_co_myatt_overview/1.0.0/images/cbo_expand_icon.png" alt="More Detail" />

<img aria-label="More Detail" aria-describedby="card-heading_508" aria-expanded="false" role="button" tabindex="0" src="/ui/services_co_myatt_overview/1.0.0/images/cbo_expand_icon.png" alt="More Detail" />

<img aria-label="More Detail" aria-describedby="card-heading_509" aria-expanded="false" role="button" tabindex="0" src="/ui/services_co_myatt_overview/1.0.0/images/cbo_expand_icon.png" alt="More Detail" />

Я пробовал следующее, но оно не работает:

//img[@src='/ui/services_co_myatt_overview/1.0.0/images/cbo_expand_icon.png'][1]

Ответы [ 3 ]

0 голосов
/ 25 января 2019

Ты пробовал вот так.

//img[@aria-label="More Detail"][1]
0 голосов
/ 27 января 2019

Если единственным уникальным атрибутом является aria-describedby, используйте его!

imgPath = '//img[@aria-describedby="card-heading_507"]'

Если вы не хотите использовать жестко запрограммированный код, просто всегда ловите первый img, вы можете использовать findElements и найти первый элемент в списке ...

lstOfImgs = driver.findElement(By.xpath('//img[@aria-label="More Detail"]'));
lstOfImgs[0]

Или вы можете обратиться к нему в Xpath, см. пример :

//img[@aria-label="More Detail"][1]
0 голосов
/ 25 января 2019

Попробуйте с

//img[@aria-describedby="card-heading_507"]


EDIT:

Чтобы проверить, действительно ли элемент видим, введите $x('//img[@aria-describedby="card-heading_507"]') для консоли в DevTools и посмотрите, можете ли вы найти элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...