如何使用Selenium Webdriver处理浏览器身份验证弹出窗口

时间:2017-09-14 12:34:58

标签: java selenium selenium-webdriver

driver=new ChromeDriver();
driver.manage().window().maximize();
driver.get("http://52.19.191.249/aur/");
driver.switchTo().alert().sendKeys("username");
driver.switchTo().alert().sendKeys("password");
driver.switchTo().alert().accept();

将消息视为无警报打开

3 个答案:

答案 0 :(得分:3)

由于driver.switchTo().alert()不等待加载警报,因此您需要等待它。见https://stackoverflow.com/a/12639803/8609512

P.S。您可以通过在Thread.sleep(2000);句之前添加driver.switchTo().alert().sendKeys("username");来检查它 - 睡眠通常是测试自动化的不良做法,但有时它可能有助于调试。

答案 1 :(得分:0)

尝试使用这种语法并且有效 driver.get(" http://Username:password@52.19.191.249/aur/");

答案 2 :(得分:0)

尝试使用autoit:[简单有效]

代码类似于::

from selenium import webdriver
import autoit
driver= webdriver.Chrome()
driver.get("http://sitewithpopup.com")
autoit.win_wait_active("",30) 
autoit.send("Username{TAB}")
autoit.send("Password{Enter}")

因为自动程序会键入您的光标所在的位置,并且默认情况下,光标位于 userID 字段上,因此您可以使用它。

相关问题