2017-03-04 72 views
1

我是Selenium的新手,並嘗試與icloud.com一起練習。我寫了下面的代碼,但無法找到框架,但是當我在控制檯上進行框架定位時。Selenium中的框架無法找到

driver.get("https://www.icloud.com"); 
driver.manage().window().maximize(); 
driver.manage().timeouts().pageLoadTimeout(3000, TimeUnit.SECONDS);  
     driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@title='Apple Id Sign-In'][@id='auth-frame'][@class='atv4 sc-view']"))); 
+0

你面對任何錯誤的知名度? – NarendraR

回答

0

其實你的網站需要時間來加載iframe需要使用ExplicitWaitiframe

driver.get("https://www.icloud.com"); 
    driver.manage().window().maximize(); 
    driver.manage().timeouts().pageLoadTimeout(3000, TimeUnit.SECONDS);  

    WebDriverWait wait =new WebDriverWait(driver, 120); 
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//iframe[@title='Apple Id Sign-In'][@id='auth-frame'][@class='atv4 sc-view']"))); 

    driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@title='Apple Id Sign-In'][@id='auth-frame'][@class='atv4 sc-view']"))); 

    driver.findElement(By.id("appleId")).sendKeys("hello"); 
+0

非常感謝!它工作時,我添加了等待iframe,真的很感激 – newtoSelenium