gpt4 book ai didi

java - Selenium XPath : ancestor does not contain

转载 作者:行者123 更新时间:2023-11-30 05:40:02 25 4
gpt4 key购买 nike

查找类为“bar”的div,其祖先在顶级“foo”的范围内不具有类“foo”。例如,

<div class="foo">
<div class="foo">
<div><div>
<div class="bar"> </div>
</div></div>
</div>

<div class="bar"> </div>
</div>

查找不在嵌套“foo”内的栏。

我尝试过的 XPath 是:

WebElement root = driver.findElement(By.xpath("//div[@class='foo']"));
root.findElements(By.xpath(".//div[not(contains(@class, 'foo'))]//div[contains(@class, 'bar')]"));

但是 XPath 返回两个元素。还尝试了 css 选择器:

root.findElements(By.cssSelector(":not(.foo) .bar"));

也不工作。

最佳答案

尝试这个 XPath-1.0 表达式:

//div[contains(@class, 'bar') and not(ancestor::*[@class='foo'])]

它只返回一项:所需的 <div class="bar"> </div> .

关于java - Selenium XPath : ancestor does not contain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55838684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com