无法在帧之间切换

时间:2016-02-10 09:44:24

标签: selenium-webdriver

我正在使用此代码:

    WebDriver driver = new FirefoxDriver();

    driver.get("http://seleniumhq.github.io/selenium/docs/api/java/index");
    driver.switchTo().frame("classFrame");
    driver.findElement(By.linkText("com.thoughtworks.selenium")).click();
    System.out.println("The expected link is opened in the browser...");

    driver.switchTo().frame(driver.findElement(By.name("packageListFrame")));
    driver.findElement(By.linkText("com.thoughtworks.selenium")).click();
    System.out.println("The expected link is opened in the browser...");

然而,我得到错误说我找不到我想要切换到的第二帧..虽然框架名称存在。关于我在这里做错了什么的指示?

提前致谢

1 个答案:

答案 0 :(得分:3)

所以,现在你已经处于第一帧,现在你的网络驱动程序会尝试搜索此框架内的下一帧。您需要切换到默认内容。使用` driver.switchTo()。defaultContent(); ':

    WebDriver driver= new FirefoxDriver();

    driver.get("http://seleniumhq.github.io/selenium/docs/api/java/index");
    driver.switchTo().frame("classFrame");
    driver.findElement(By.linkText("com.thoughtworks.selenium")).click();
    System.out.println("The expected link is opened in the browser...");

    driver.switchTo().defaultContent();

    driver.switchTo().frame("packageListFrame");
    driver.findElement(By.linkText("com.thoughtworks.selenium")).click();
    System.out.println("The expected link is opened in the browser...");