Nav*_*ava 0 python selenium basic-authentication selenium-webdriver
在我的python项目中,登录过程由HttpBasicAuth处理程序处理.得到响应后,我应该通过selenium加载主页面.
它应该如何完成?
它有baseurl.当基本URL由python-selenium加载时,弹出框会询问用于身份验证的用户名和密码.然后它进入主页面.
以下是两个步骤:
我使用HttpBasicAuth处理程序的原因是,当我打开我的URL时,它会打开一个用于登录的弹出窗口.因为,我们不知道由Selenium处理的弹出模式对话窗口的控制,我们切换到HttpAuthentication.
(这是我需要建议的部分.)
在这个中间部分,我使用来自HttpBasicAuth处理程序的响应进行身份验证,以便Selenium可以继续测试中的其他步骤.
如何在Selenium中对站点进行身份验证?我是否必须使用HttpBasicAuthentication Response为Selenium webdriver创建一个cookie,以便跳过登录框?
这是一个可以通过向HTTP响应添加标头来轻松解决的问题,遗憾的是Selenium2不支持此功能.
您可以通过在URL中嵌入用户名和密码来尝试使用它:
browser = webdriver.Firefox() # Get local session of firefox
browser.get("http://myusername:mypassword@www.yourpage.com") # Load page
Run Code Online (Sandbox Code Playgroud)
请注意,这不适用于IE(由于安全问题),但您可以通过稍微修改注册表来使其工作.
根据你的评论,我真的不明白你的问题.如果您按照我的指定执行第一个请求,浏览器将自动存储一个特殊的Authorization:标头,其中包含密码和用户名连接以及base64编码.在关闭浏览器之前,所有其他请求现在都将进行身份验证.
这种方法与Selenium 1或Selenium 2几乎没有关系,但具体浏览器支持的是什么.IE是我所知道的唯一一个限制它的浏览器.
| 归档时间: |
|
| 查看次数: |
4957 次 |
| 最近记录: |