Я использую селен для тестирования своего веб-приложения и могу успешно найти теги, используя 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" ) );
Но такой функции не существует. Могу ли я сделать это в любом случае?
Кстати: иногда мне нужно найти <div>
который имеет определенный узел-потомок. Как я могу спросить в xpath для " <div>
который содержит <span>
с текстом 'hello world'
"?