有沒(méi)有辦法做類似的事情:webElement.findElements(By.cssSelector("> li");我正在嘗試獲取 WebElement 對(duì)象的直接子對(duì)象。我知道 css 選擇器“父>子”并且它按預(yù)期工作,但我的情況不同。例如:<ul class="x"> <li> <ul> <li> </li> </ul> </li> <li> </li></ul>List<WebElement> webElements = driver.findElements(By.cssSelector("ul.x > li"));僅返回 ul 標(biāo)記的直接子子級(jí)。列表的大小是 2。但我有下一個(gè)用例:WebElement webElement = driver.findElement(By.cssSelector("ul.x"));webElement.findElements(By.cssSelector("li");這里的問(wèn)題是,此代碼返回所有“l(fā)i”Web 元素,而不僅僅是直接子元素。這次List的大小是3。我試過(guò)這個(gè):webElement.findElements(By.cssSelector("> li");但這會(huì)引發(fā)錯(cuò)誤org.openqa.selenium.InvalidSelectorException:無(wú)效選擇器:指定了無(wú)效或非法選擇器
1 回答

撒科打諢
TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以使用 xpath:
WebElement webElement = driver.findElement(By.cssSelector("ul.x")); webElement.findElements(By.xpath("./li");
添加回答
舉報(bào)
0/150
提交
取消