在Selenium中找不到框架

在Selenium中找不到框架,selenium,Selenium,我对Selenium不熟悉,正在尝试使用icloud.com进行练习。我写了下面的代码,但框架无法定位,但当我在控制台上这样做时,框架被定位 driver.get("https://www.icloud.com"); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(3000, TimeUnit.SECONDS); driver.switchTo().frame

我对Selenium不熟悉,正在尝试使用icloud.com进行练习。我写了下面的代码,但框架无法定位,但当我在控制台上这样做时,框架被定位

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']")));

实际上,您的站点需要时间加载
iframe
需要使用
ExplicitWait
来查看
iframe

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

实际上,您的站点需要时间加载
iframe
需要使用
ExplicitWait
来查看
iframe

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

您是否面临任何错误?您是否面临任何错误?非常感谢!当我添加了等待iframe时,它起了作用,真的非常感谢Tanks!当我添加wait for iframe时,它起了作用,真的很感谢