2013-02-05 92 views
4

如何访问一个嵌套元素,而不使用XPath硒的webdriver(JAVA)嵌套元素

这是我会怎么写硒的webdriver(红宝石)

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

但我会怎么写呢在JAVA 我曾尝试:

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

我知道显然是错误的

回答

7

你其实非常接近,只是在括号内。我只是分开了一些东西。

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

如果你正在做这一切在同一行,这将是

browser.findElement(By.className("mapLock")).findElement(By.className("mapLockDisplay")).click(); 
+8

甚至更​​好,'browser.findElement(By.css( “mapLock .mapLock显示”))。点击()'。 –

+0

确实!这不是我想到的,因为我大多数时间不是Web开发人员,但是仍然是一个很好的解决方案:) –