Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Selenium Webdriver(JAVA) Nested Elements

How do I access a nested element without using xpath

this is how I would write it in Selenium WebDriver (Ruby)

@browser.find_element(:class, 'mapLock').find_element(:class => 'mapLockOverlay').click

But how would I write it in JAVA I have tried:

browser.findElement(By.className("mapLock").findElement(By.className("mapLockDisplay").click

which I know is obviously wrong

like image 541
user1875703 Avatar asked Feb 05 '13 15:02

user1875703


1 Answers

You're actually pretty close, just mind the brackets. I just separated things a bit.

final WebElement mapLockElement = browser.findElement(By.className("mapLock"));
final WebElement mapLockDisplayElement = mapLockElement.findElement("mapLockDisplay");
mapLockDisplayElement.click();

If you're doing it all on one line, it would be

browser.findElement(By.className("mapLock")).findElement(By.className("mapLockDisplay")).click();
like image 73
Justin Jasmann Avatar answered Oct 22 '22 05:10

Justin Jasmann