Używam selenu do przetestowania mojej aplikacji internetowej i mogę z powodzeniem znaleźć znaczniki za pomocą By.xpath
. Jednak od czasu do czasu muszę znaleźć węzły potomne w tym węźle.Lokalizowanie węzłów podrzędnych WebElements w selenach
Przykład:
<div id="a">
<div>
<span />
<input />
</div>
</div>
mogę zrobić:
WebElement divA = driver.findElement(By.xpath("//div[@id='a']"))
Ale teraz muszę znaleźć wejście, więc mogłem zrobić:
driver.findElement(By.xpath("//div[@id='a']//input"))
Jednak w tym momencie kod I mam tylko divA
, nie jego xpath już więcej ... Chciałbym zrobić coś takiego to:
WebElement input = driver.findElement(divA, By.xpath("//input"));
Ale taka funkcja nie istnieje. Czy mogę to zrobić tak czy inaczej?
BTW: Czasami muszę znaleźć DIV
, który ma określony węzeł. Jak mogę zapytać w xpath o "div-tag, który zawiera rozpiętość z tekstem" hello world "?
Wielkie dzięki. Nie wiedziałem jeszcze, że mogę użyć xpaths wewnątrz '[]' wewnątrz xpaths ... –
najnowszą wersję specyfikacji XPath można znaleźć [tutaj] (https://www.w3.org/TR/xpath- 3/# abbrev) –
po prostu piękne! – angryip