这是HTML设计,我正在尝试查看是否为特定文本“祝你好运哈利”显示 <i class="fas fa-lock"></i>
。
如何使用xpath识别多个Webelements?
我可以使用xpath分别识别这些webelements,但是如何确保它们嵌套?
<div class="card">
<div class="overlayBg">
<div class="duration_notif">22:33</div>
<i class="fas fa-lock"></i>
</div>
<div class="card-body">
<h5 class="card-title">
<div class="LinesEllipsis ">
<div>Good luck Harry</div>
</div>
</h5>
</div>
</div>
我需要验证两个网络元素是否相互嵌套。
我在Java中使用pagefactory和硒。
答案 0 :(得分:1)
嵌套<div>Good luck Harry</div>
是另一个div
的子代,而另一个h5
是<div class="card-body">
的子代,而//div[@class="card-body"]/h5[@class="card-title"]/div[contains (@class, "LinesEllipsis")]/div
是/
的子代?>
<div class="overlayBg">
在xpath中,<div class="card-body">
表示直接后代-该节点必须是另一个节点的第一级子节点。
当您使用此xpath处理元素时,实际上会发现它具有此祖先结构。
在div
和/div//div[@class="card-body" and preceding-sibling::div[@class="overlayBg"]]/h5[@class="card-title"]/div[contains (@class, "LinesEllipsis")]/div
的意义上有一个共同的父母-preceding-sibling
?
gridOptions.api.forEachNode(node => {
if (node.childIndex >= startIndex && node.childIndex < endIndex) {
node.setSelected(true)
}
});
您将从公共父节点开始,并用setSelected
轴扩展谓词-这意味着“必须存在与该条件匹配的同级节点”;并且处于同一级别,这意味着这两个将共享其父节点。