Один и тот же узел, другой дочерний Selenium Xpath Java - PullRequest
0 голосов
/ 11 марта 2019

Это пример

<div>
<div _ngcontent-c20="" class="element">
<span _ngcontent-c20="" class="chip-name tv-h-no-select"> element1 </span><!---->
<i _ngcontent-c20="" aria-hidden="true" class="close"><!---->close<!----></i></div>
<div _ngcontent-c20="" class="element">
<span _ngcontent-c20="" class="chip-name tv-h-no-select"> element2 </span><!---->
<i _ngcontent-c20="" aria-hidden="true" class="close"><!---->close<!----></i></div>
<div _ngcontent-c20="" class="element">
<span _ngcontent-c20="" class="chip-name tv-h-no-select"> element3 </span><!---->
<i _ngcontent-c20="" aria-hidden="true" class="close"><!---->close<!----></i></div>
<div _ngcontent-c20="" class="element">
<span _ngcontent-c20="" class="chip-name tv-h-no-select"> element4 </span><!---->
<i _ngcontent-c20="" aria-hidden="true" class="close"><!---->close<!----></i></div>
</div>

Вот эта вещь,

Я хочу создать xpath, который нажимает кнопку «ЗАКРЫТЬ», но в зависимости от того, какой элемент я хочу закрыть ...

у нас есть 4 элемента, но я просто хочу нажать кнопку закрытия для элемента, который я хочу

Я хотел бы создать xpath с осями, чтобы выбрать нужный элемент:

это мой текущий xpath:

//div//span[contains(text(), 'element1')]

но с этим xpath просто нажмите элемент1, а не кнопку "закрыть".

теперь я хотел бы создать xpath, выбрав элемент с осями и определив кнопку «закрыть», которую нужно нажать

1 Ответ

1 голос
/ 11 марта 2019

Вот xpath.

//span[normalize-space(.)='element2']/parent::div/i[normalize-space(.)='close']

Просто измените элемент, который вы хотите.

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