在selenium Element not found错误

时间:2015-01-29 20:01:33

标签: selenium

使用下面的代码,我无法找到该元素。我收到错误元素

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();
    } 

1 个答案:

答案 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()切换回顶部。