有没有办法做类似的事情:
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:无效选择器:指定了无效或非法选择器
撒科打诨
相关分类