gpt4 book ai didi

selenium - Selenium 是否有相对的 CSS 定位器?

转载 作者:行者123 更新时间:2023-12-03 15:51:59 26 4
gpt4 key购买 nike

假设我正在#myPage 元素下寻找一些 div 元素。
我的目标是使用 CSS 选择器并将搜索限制为 #myPage 后代。

使用 Selenium XPath 定位器,我可以编写如下内容:

WebElement page = driver.findElement(new By.ById("myPage"));
....
List<WebElement> item = page.findElements(new By.ByXPath(".//div"));

但是,尝试使用 CSS 会产生文档中的所有 div,而不仅仅是 #myPage 的后代:
WebElement page = driver.findElement(new By.ById("myPage"));
....
List<WebElement> item = page.findElements(new By.ByCssSelector("div"));

最大的区别是 .//使 XPath 表达式相对的前缀。我在 CSS 语法中找不到类似的属性,我想知道它是否可能。

附言
我知道我可以使用 #myPage > div表达式,但随后我将页面查找操作与其后代的查找结合起来,这并不总是可取的。

最佳答案

此功能尚不存在。选择器 API 级别 2 中为 DOM 提出了一个类似的功能,并在选择器级别 4 中编码为 relative selectors ,但我不知道 Selenium 是否会实现这样的功能。

如果必须执行相对查找,XPath 是目前唯一的选择。

关于selenium - Selenium 是否有相对的 CSS 定位器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12992889/

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