同一节点,不同子Selenium Xpath Java

时间:2019-03-11 19:47:51

标签: java selenium xpath

这是例子

<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>

这是东西

我要创建一个按“ CLOSE”按钮的xpath,但要根据要关闭的元素而定...

我们有4个元素,但是我只想按我想要的元素的关闭按钮

我想用轴创建一个xpath以便选择我想要的元素:

这是我当前的xpath:

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

但是使用此xpath只是单击element1而不是“关闭”按钮。

现在我想创建一个xpath,选择带有Axes的元素并标识要按下的“关闭”按钮

1 个答案:

答案 0 :(得分:1)

这是xpath。

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

只需更改所需的元素即可。