Я не могу найти регулярное выражение, чтобы заставить его работать.
Что мне нужно архивировать
В иерархии я хотел бы получить всех детей (включая несколько уровней), который содержит некоторые конкретные классы.
Например: я хотел бы, чтобы WebElements с классами "черный" или "белый"
<div class="initial-div">
<div class="red">
<div class="white">Hello</div>
</div>
<div class="black">Goodbye</div>
</div>
Он должен быть в состоянии найти обаДивы "Hello" и "Goodbye", так как они оба дети.
Мой подход
Я пытаюсь сделать это с помощью Selenium и поиска по xPath. Мое выражение выглядит так:
List<WebElement> nodes = initialNode.findElements(By.xpath("//*[@class='black' or @class='white']"));
Но я все время получаю "Исключения из-за недопустимых выражений" или результатов нет.
Может кто-нибудь помочь мне с этим?
Заранее спасибо!
РЕШЕНО!
Мне было сложнее, но я наконец-то это сделал. Я делюсь с вами информацией, если кто-то ищет это в любое время:
List<WebElement> nodes = initialNode.findElements(By.xpath("*//descendant::div[contains(@class, 'black') or contains(@class, 'white)]"));