Selenium Webdriver(JAVA)嵌套元素

use*_*703 5 java selenium webdriver selenium-webdriver

如何在不使用xpath的情况下访问嵌套元素

这就是我在Selenium WebDriver(Ruby)中编写它的方法

@browser.find_element(:class, 'mapLock').find_element(:class => 'mapLockOverlay').click
Run Code Online (Sandbox Code Playgroud)

但是我如何在JAVA中编写它我尝试过:

browser.findElement(By.className("mapLock").findElement(By.className("mapLockDisplay").click
Run Code Online (Sandbox Code Playgroud)

我知道这显然是错的

Jus*_*ann 7

你实际上非常接近,只需要注意括号.我把事情分开了一点.

final WebElement mapLockElement = browser.findElement(By.className("mapLock"));
final WebElement mapLockDisplayElement = mapLockElement.findElement("mapLockDisplay");
mapLockDisplayElement.click();
Run Code Online (Sandbox Code Playgroud)

如果你在一条线上做这一切,那就是

browser.findElement(By.className("mapLock")).findElement(By.className("mapLockDisplay")).click();
Run Code Online (Sandbox Code Playgroud)

  • 甚至更好,`browser.findElement(By.css(".mapLock .mapLock display")).click()`. (8认同)