用selenium获取cookie,自动跳转登录页面从而导致写入cookie失败

问题

最近在搞ui自动化,我们系统需要使用企业微信扫码登录,我想要用selenium写入cookie实现免登录时,遇到了麻烦。因为这个网站的登录界面会跳转,
我输入网址management-fat.xx.com
会自动跳转到

这就导致了一个问题,selenium写入cookie时必须先打开这个网页,然后再写入cookie,这样selenium才知道写入的是哪个域名的cookie。
而在我想要打开登录后的页面【management-fat.xx.com/】写入cookie时,页面会自动跳转长的那个重定向的网页,由于cookie并没有写入这个域名里面,因此导致免登录失败,还是未登录状态!

报错信息

代码


image

替换成下面这个

image

试了下,虽然没报错,但是没成功赋进去,还是没登录成功

解决了,用了设置等待时间的方法

try:
self.driver.set_page_load_timeout(1)
# 1.访问MA首页
self.driver.get(“https://management-fat.xxx.com”)
except:
self.driver.set_page_load_timeout(10)
# 2.获取本地的cookie
with open(“./cookies2.yaml”, “r”) as f:
cookies = yaml.safe_load(f)
# 3.植入cookie
for c in cookies:
self.driver.add_cookie(c)
# 4.访问MA首页
self.driver.get(“https://management-fat.xxx.com”)

time.sleep(5)

关于使用selenium免登陆爬取网页时,自动跳转登录页面从而导致写cookie失败的解决办法_selenium cookie登陆无效_lakelee2020的博客-CSDN博客 参考了这篇文章
既然selenium只是通过地址栏里面的域名来写入cookie的,那么我们只需要通过某种方法来中断selenium 的加载使地址栏保持登录后的域名网址即可。这个方法就是python的try except的异常捕捉方法!