Selenium ChromeDriver在加载带有凭据的站点时显示空页面
我正在为一个使用弹出式身份验证的网站编写自动测试。我可以使用Selenium ChromeDriver在加载带有凭据的站点时显示空页面,selenium,selenium-chromedriver,Selenium,Selenium Chromedriver,我正在为一个使用弹出式身份验证的网站编写自动测试。我可以使用用户名提供凭据:password@https://site.address.comformula,但在这种情况下,Chrome窗口的标题栏只显示数据;:和空白页。在此之后,我的测试将失败,因为页面没有真正加载,并且无法单击元素 如果我不提供凭据,则标题栏将显示我的URL,但我无法输入凭据以进入页面,因为弹出窗口中没有我可以引用的元素 编辑:当我尝试使用driver.switchTo().alert()发送身份验证数据时,执行基本停止,我
用户名提供凭据:password@https://site.address.com
formula,但在这种情况下,Chrome窗口的标题栏只显示数据;:代码>和空白页。在此之后,我的测试将失败,因为页面没有真正加载,并且无法单击元素
如果我不提供凭据,则标题栏将显示我的URL,但我无法输入凭据以进入页面,因为弹出窗口中没有我可以引用的元素
编辑:当我尝试使用driver.switchTo().alert()
发送身份验证数据时,执行基本停止,我必须按cancel
controller.getNavigator().goToPage(loginSiteAddress);
System.out.println(userName);
System.out.println(password);
controller.getNavigator().authenticate(userName, password);
public void authenticate(String userName, String password) {
driver.switchTo().alert().sendKeys(userName + Keys.TAB + password);
driver.switchTo().alert().accept();
}
我如何才能使第一个解决方案起作用?我已经回答了一个类似的问题是的,我确实发现了这一点,并根据它开始工作。现在我看到AuthenticateSing不再可用了,所以我编写了一个小的身份验证函数,应该将字符发送到登录对话框。但弹出窗口似乎停止了执行,并且从未调用auth函数。和我一样的问题。我使用了最后一个答案的答案。这里回答了类似的问题