在 url 中嵌入凭据以使用 selenium webdriver 加载网站
Posted
技术标签:
【中文标题】在 url 中嵌入凭据以使用 selenium webdriver 加载网站【英文标题】:Embedding credentails in url to load website using selenium webdriver 【发布时间】:2017-08-25 09:55:32 【问题描述】:我需要加载弹出身份验证的 URL。我使用http://username:password@exampl.com格式通过chrome浏览器上的selenium webdriver访问网站。
但是这个支持似乎没有在最新的chrome浏览器中被删除,所以加载url不成功。浏览器一直加载很长时间,服务器没有响应。
是否有任何替代方法可以通过 selenium webdrier 克服身份验证弹出窗口?我知道我们可以使用 sikui、autoit 等。但我需要在许多平台上运行 相同的代码 - Win/Mac/mobile/tablet。
所以请告诉我们如何克服这个问题。
【问题讨论】:
您使用的是哪个版本的硒?另外,使用的 chromedriver 的版本。? 在安卓设备上使用 Chrome 浏览器版本 59。 Selenium 服务器 2.53.1 和 chrome 驱动程序 2.31 【参考方案1】:我正在使用 Selenium 3.4.0 和 Chromedriver 2.31,加载带有身份验证凭据的 URL 对我来说很好。
【讨论】:
在安卓设备上使用 Chrome 版本 59。 Selenium 服务器 2.53.1 和 chrome 驱动程序 2.31 我可以知道您使用的 chrome 浏览器版本 我在 Chrome 59 和 60 上都进行了测试。我认为您应该将 Selenium 升级到 3.4【参考方案2】:据我所知,chrome 60.x 版本的 chorme stop URL 身份验证。
您可以尝试以下代码或降级您的 chrome 版本
警报方法authenticateUsing()
允许您跳过 Http 基本身份验证框。
WebDriverWait wait = new WebDriverWait(driver, 10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.authenticateUsing(new UserAndPassword(username, password));
希望对你有帮助:)
【讨论】:
以上是关于在 url 中嵌入凭据以使用 selenium webdriver 加载网站的主要内容,如果未能解决你的问题,请参考以下文章
ElementNotVisibleException:Python + Selenium,W eb上的登录凭据