selenium处理弹窗登录认证方案

背景:

使用selenium开发相关自动化模块时,遇到一个网页需要进行用户认证,如下图所示
在这里插入图片描述
需要登录认证后才能进行后续操作。

解决思路:

面对这个弹窗,第一时间想到的是js的prompt弹窗,于是尝试使用webdriver.switch_to_alert()方法对其进行操作,出现如下报错提示:
在这里插入图片描述
显然,这个弹窗不属于常规prompt弹窗,无法通过alert对象操作;
经查询资料,得知此认证窗口为HttpBasicAuth请求鉴权时的提示框,从网络分析中也可以看到此时连接未完成,服务端在等待认证;
在这里插入图片描述
由此可以从主动提供用户密码这个思路着手,跳过这个认证提示;
查询资料,了解到http协议是可以直接携带用户名密码的,尝试在跳转页面时使用带用户名密码的链接访问:http://username:password@host:port/path/query

username="admin"
passwd="123"
web.get(f"https://{username}:{passwd}@192.168.xx.xx/Index.html")

成功跳过授权弹窗,直接登录到页面,问题解决!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值