编辑:事实证明,“ javascript弹出窗口”实际上不是javascript弹出窗口。这是“ 基本授权弹出窗口”。我使用“ AutoIt ”解决了问题,但SO的亚历克斯(Alex)建议查找基本授权弹出窗口。这是post。
我正在尝试访问网页A,但它重定向到网页B,然后该网页接收电子邮件ID,然后重定向到网页C,该网页具有用于输入电子邮件ID(之前输入过)的Javascript弹出窗口,密码,然后将我带到所需的网页。
问题是,如果我使用“ webdriver wait”,它甚至都不会带我到需要输入电子邮件ID和密码的页面C。如果删除“ webdriver wait”,则至少可以转到C页,但是仍然无法输入ID和密码!
driver.get("https://website.com");
driver.findElement(By.xpath("//*[@id=\"i0116\"]")).sendKeys("email@email.com");
driver.findElement(By.xpath("//*[@id=\"idSIButton9\"]")).click();
WebDriverWait wait = new WebDriverWait(driver, 5); //if I remove this line and below line
Alert alert = wait.until(ExpectedConditions.alertIsPresent()); //then only I reach to the page C
driver.switchTo().alert().sendKeys("email@email.com");
driver.switchTo().alert().sendKeys("passwordofemail");
当代码中有webdriver等待时,我得到此异常线程“主” org.openqa.selenium.TimeoutException中的异常:预期条件失败:等待警报出现(尝试10秒, 500毫秒间隔)。