zoukankan      html  css  js  c++  java
  • 【UI测试】selenium加载cookies报错[selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain]解决方案

    一、原因

    翻译一下,就是selenium默认域名是data:,cookies中自带域名,发现当前域名不包含在cookies中时,则cookies设置失败

    个人理解:在加载cookies之前需要先访问页面,打开页面跳转登录页面,登录之后才能到其他页面,cookies就是模拟的登录,所以在加载cookies之前需要先访问一下页面

    二、以企业微信为例

    def test_weixin(self):
    # 先打开企业微信的页面,才能传cookies进去
    self.driver.get("https://work.weixin.qq.com/")

    with open("cookies.txt", "r") as f:
    # 从文件获取cookies,并转化成list对象
    cookies: List[Dict] = json.load(f)
    # 遍历每一条cookies,把登录的cookies传入到企业微信中
    for cookie in cookies:
    # 由于selenium的cookies不支持expiry,所以需要去掉
    if "expiry" in cookie.keys():
    # dict支持pop的删除函数
    cookie.pop("expiry")
    # 添加cookies
    self.driver.add_cookie(cookie)
    # 再打开企业微信登录后的页面
    self.driver.get("https://work.weixin.qq.com/wework_admin/frame")
    sleep(5)

    要打开登录后的页面,首先需要打开企业微信的页面,这时传送的domain才是全的
  • 相关阅读:
    js原始数据类型和引用数据类型=>callback数据传输原理
    wamp虚拟服务器
    chrome 跨域设置-(完善博客内容)
    js原生API----查找dom
    正则表达式
    ajax ----进度条的原理
    ajax 原理----初级篇
    转载 webstrom识别 React语法
    javascript性能优化
    JavaScript DOM
  • 原文地址:https://www.cnblogs.com/ricebug2/p/14044621.html
Copyright © 2011-2022 走看看