获取下一个元素

时间:2016-07-12 18:49:54

标签: c# html selenium xpath

我需要获得一个“是”作为其文本的下一个(兄弟)元素。我可以使用文本“是”,css和id的一部分,但不幸的是排除了数字(例如106)。我也不能直接得到那个兄弟姐妹,因为那个被排除在外。以下是HTML代码的一部分:

<a style="right: auto;" class="x-btn x-box-item x-toolbar-item" id="button-106">
  <span id="button-106-btnWrap" role="presentation" class="x-btn-wrap" unselectable="on">
    <span id="button-106-btnEl" class="x-btn-button" role="presentation">
      <span id="button-106-btnInnerEl" class="x-btn-inner x-btn-inner-center">Yes
      </span>
      <span role="presentation" id="button-106-btnIconEl" class="x-btn-icon-el">
      </span>
    </span>
  </span>
</a>

我想出了这个查询,但它似乎不起作用:

By.XPath(".//*[text() = 'Yes' and contains(id(), '-btnInnerEl')/following-sibling::*]")

如何更改此查询以便我可以获取下一个元素?

1 个答案:

答案 0 :(得分:2)

选择标识为button-106-btnIconEl的范围:

//span[contains(@id,'-btnInnerEl')][normalize-space(text())='Yes']/following-sibling::span