2016-02-10 30 views
2

我使用此代碼之間切換:無法幀

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..."); 

但是我得到的錯誤,說我試圖切換到沒有找到第二個框架。雖然框架名稱存在。任何關於我在這裏做錯了什麼指針?

在此先感謝

回答

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..."); 
+0

謝謝你的幫助。 – harshufrenz