猿问

如何搜索“跟随”元素,直到我们达到硒中的元素?

例如


我们有以下 HTML :


<li class="gcui-menu-item tsc-dr-tree-item">1</li>

<li class="gcui-menu-item tsc-dr-tree-subitem">1-1</li>

<li class="gcui-menu-item tsc-dr-tree-subitem">1-2</li>

<li class="gcui-menu-item tsc-dr-tree-item">2</li>

<li class="gcui-menu-item tsc-dr-tree-subitem">2-1</li>

注意:s中包含的文本实际上并不存在于页面上,它们作为标签存在以帮助解释问题。li


在这里,我想获取子项“1-1”和“1-2”,仅在第一个树项“1”下方。


如果我搜索:


//li[contains(@class, 'tree-item')]//following::li[contains(@class, 'subitem')]

我还在第二个树项“2-1”下面得到了子项,因为此结构没有子项作为项的子项,而是同级项。


那么,在我们到达一个元素之前,有什么办法可以做吗?也许直到下一个在其类中包含“树项”?following:: lilifollowing::lili


杨魅力
浏览 94回答 1
1回答

繁星coding

下面是第一个菜单项下的 li 子项元素匹配的 xpath。//li[contains(@class,'tree-item')][1]/following-sibling::li[contains(@class,'tree-subitem')&nbsp;and&nbsp;count(preceding-sibling::li[contains(@class,'tree-item')])=1]下面是 Chrome 控制台中的输出。
随时随地看视频慕课网APP

相关分类

Java
我要回答