Hello 诸位大神,
我在selenium ruby环境,编写自动化脚本的过程中碰到一个棘手的问题。我在chrome浏览器里输入网站地址后,遇到http弹框要求输入用户名,密码进行身份验证(截图如下)。请教一下大家可以用啥方法来定位弹框以及完成输入用户名和密码的操作?我已经用过autoit方法了,说来也是奇怪,之前用autoit.winwait和autoit.send方法可以识别弹框完成登录操作,现在却不行了...按理说环境也没人动过的...很是头疼啊...
希望有技术大神可以帮我解决这个弹框问题,万分感谢~~
这种叫 Basic authentication
搜索base Authentication selenium 应该可以解决你的问题。
How to send Basic Authentication headers in Selenium?
https://sqa.stackexchange.com/questions/12892/how-to-send-basic-authentication-headers-in-selenium
感谢你的回答~我看了你发的链接,是java的方法,我用的是ruby,网上有关ruby selenium处理basic authentication的资料很少,我有搜索到在访问的URL里加入用户名和密码的方法,还是不管用(详见https://stackoverflow.com/questions/30218472/a-basic-authentication-popup-appears-several-times-using-selenium),而且我们网站登入的用户名是含域名的,例如chn***。请问你熟悉ruby语言嘛?或者能提供详细点的ruby代码嘛?我是个码代码新手...
已经解决了这个问题。
解决方法:
driver.get("http://UserName:Password@Example.com");
如果用户名是加域名的,例如chn***,这里的反斜杠\需要URLEncode编码下的,转换成%5c替换到url即可。
资料地址:https://stackoverflow.com/questions/24304752/how-to-handle-authentication-popup-with-selenium-webdriver-using-java
转换工具地址:http://tool.chinaz.com/tools/urlencode.aspx
– 曹尼尼 6年前