Есть ли способ сделать что-то вроде:
webElement.findElements(By.cssSelector("> li");
Я пытаюсь получить прямые дочерние элементы объекта WebElement.
Я знаю о css-селекторе "parent>children ", и это работает, как и ожидалось, но мой случай отличается.
Например:
<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', а не только прямые дочерние элементы. Размер списка на этот раз 3.
Я пробовал это:
webElement.findElements(By.cssSelector("> li");
, но это выдает ошибку
org.openqa.selenium.InvalidSelectorException: неверный селектор: указан неверный или недействительный селектор