Skip to main content
 首页 » 编程设计

c#之带有 webdriver 和弹出窗口的 http 授权

2024年01月28日27jackei

我正在尝试使用 Selenium WebDriver使用用户名和密码自动登录站点。我已经完成研究,但我认为 WebDriver 不支持此功能,因此我需要找到另一种方法。我尝试自动登录的站点位于 here .

当提示登录时,会出现一个似乎不是浏览器一部分的弹出窗口。我正在使用 Firefox 和 Chrome。似乎需要 Windows API?我已经尝试在 URL 中传递凭据,但这没有用。还尝试了 sendkeys,但收到 Windows 异常,表明应用程序不接受 Windows 消息。我还尝试使用 driver.windowhandles 切换当前的 handle 但弹出窗口似乎不是新句柄。

有人有什么想法吗?我有点卡住了。进入弹出窗口的初步代码是:

IWebDriver driver = new FirefoxDriver(); 
driver.Navigate().GoToUrl("http://www.portal.adp.com"); 
string currentWindow = driver.CurrentWindowHandle; 
IWebElement userLogin = driver.FindElement(By.Id("employee")); 
userLogin.Click(); 

请您参考如下方法:

您看到的弹出窗口是由网络服务器提示的,是一个身份验证提示。 Selenium 不支持此操作。

处理此限制的方法之一是在 url 中传递用户和密码,如下所示:

http://user:password@example.com

此处提供更多信息:http://aleetesting.blogspot.in/2011/10/selenium-webdriver-tips.html