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']
有一个简化的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']