为了账号安全,请及时绑定邮箱和手机立即绑定

Selenium 仅选择 WebElement 的直接子级

Selenium 仅选择 WebElement 的直接子级

侃侃尔雅 2024-01-25 21:35:17
有没有办法做类似的事情:webElement.findElements(By.cssSelector("> li");我正在尝试获取 WebElement 对象的直接子对象。我知道 css 选择器“父>子”并且它按预期工作,但我的情况不同。例如:<ul class="x">    <li>        <ul>            <li>            </li>        </ul>    </li>    <li>    </li></ul>List<WebElement> webElements = driver.findElements(By.cssSelector("ul.x > li"));仅返回 ul 标记的直接子子级。列表的大小是 2。但我有下一个用例:WebElement webElement = driver.findElement(By.cssSelector("ul.x"));webElement.findElements(By.cssSelector("li");这里的问题是,此代码返回所有“li”Web 元素,而不仅仅是直接子元素。这次List的大小是3。我试过这个:webElement.findElements(By.cssSelector("> li");但这会引发错误org.openqa.selenium.InvalidSelectorException:无效选择器:指定了无效或非法选择器
查看完整描述

1 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

您可以使用 xpath:

WebElement webElement = driver.findElement(By.cssSelector("ul.x"));
webElement.findElements(By.xpath("./li");


查看完整回答
反对 回复 2024-01-25
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信