使用下面的代码,我无法找到该元素。我收到错误元素
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
public class CreateMars {
public static void main(String[] args) {
WebDriver driver=new FirefoxDriver();
driver.get("http://gimmewings.com");
driver.manage().window().maximize();
WebElement web=driver.findElement(By.id("drop3"));
driver.close();
}
答案 0 :(得分:3)
问题是您要查找的元素位于<frame>
内。 Selenium要求您在定位元素内部之前使用switchTo().frame()
来访问该框架。
public static void main(String[] args) {
WebDriver driver=new FirefoxDriver();
driver.get("http://gimmewings.com");
driver.manage().window().maximize();
driver.switchTo().frame("TopFrame");
WebElement web=driver.findElement(By.id("drop3"));
driver.switchTo().defaultContent();
driver.close();
}
在框架中完成后,您需要使用switchTo().defaultContent()
切换回顶部。