我正在使用 C# 在 selenium 网络驱动程序中为 Chrome 浏览器编写自动化脚本。我遇到了在同一个浏览器中打开多个选项卡的情况,我需要导航到浏览器的第一个选项卡并需要在身份验证对话框中重新输入登录凭据。
请找到下面的授权窗口截图:
我无法导航到第一个选项卡,也无法传递用户名和密码。我在 Stackoverflow 中找到了一些答案,并在我的脚本中进行了尝试,但没有任何结果。这是我的示例代码:
WebDriverWait wait = new WebDriverWait(driver, 10);
IAlert alert = wait.Until(ExpectedConditions.AlertIsPresent());
alert.SetAuthenticationCredentials(username, pwd);
执行上面的代码后,出现如下错误:
WebDriverWait has some invalid arguments. Argument '2': cannot convert from 'int' to 'System.TimeSpan'
有没有Chrome浏览器的具体代码?我正在使用 Visual Studio 2008。
最佳答案
尝试获取这样的 URL...
driver.get("http://username:password@www.domain.com");
像这里的这篇文章(How to handle authentication popup with Selenium WebDriver using Java)一样使用 Alert 类显然只适用于 IE。
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IAlert alert = wait.Until(ExpectedConditions.AlertIsPresent());
alert.SetAuthenticationCredentials("username", "password")
关于c# - 如何使用 Selenium Webdriver (C#) 在 Chrome 中处理浏览器身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45172303/