有没有办法做类似的事情: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");
添加回答
举报
0/150
提交
取消