Поиск дочерних узлов WebElements в селене

Я использую селен для тестирования своего веб-приложения и могу успешно найти теги, используя By.xpath. Однако время от времени мне нужно найти дочерние узлы внутри этого узла.

Пример:

<div id="a">
    <div>
        <span />
        <input />
    </div>
</div>

Я могу сделать:

WebElement divA = driver.findElement( By.xpath( "//div[@id='a']" ) )

Но теперь мне нужно найти ввод, поэтому я могу сделать:

driver.findElement( By.xpath( "//div[@id='a']//input" ) )

Однако на тот момент в коде у меня есть только divA, это уже не xpath... Я хотел бы сделать что-то вроде этого:

WebElement input = driver.findElement( divA, By.xpath( "//input" ) );

Но такой функции не существует. Могу ли я сделать это в любом случае?

Кстати: иногда мне нужно найти

, у которого есть определенный дочерний узел. Как я могу запросить в xpath "
, который содержит с текстом 'hello world'"?

41
задан daaawx 2 April 2019 в 18:30
поделиться