Selenium + XPath:'following-sibling' 只能用于下一个元素吗?

Selenium + XPath: can 'following-sibling' be used for next element only?

有一个简化的htmltable

<table>
    .....
    <tr/>
    <tr class="base"/>
    <tr class="check"/>
    <tr/>
    <tr class="base2"/>
    <tr class="check"/>
    .....
</table>

使用 selenium 我有一个 class "base" 的元素很早就被发现了。

var row = table.FindElement(By.ClassName("base"));

我需要用 class 'check' 获取下一行,但前提是它存在(否则是例外)。

var nextRow = row.FindElement(By.XPath("following-sibling::tr[@class='check'][1]")

问题是这个 xpath 在 class 'base2' 行之后给了我 class 'check' 行,以防我的 class 之后的行不存在.

'following-sibling'是否可以只验证下一个元素而不是所有元素?

尝试使用 CSS 定位器 - tr[class='base'] + tr[class='check']

如果class'检查',将return下一行,否则什么都没有。

如果你想要 Xpath :

//tr[@class='base']/following-sibling::tr[1][@class='check']