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才是全的
  • 相关阅读:
    两数之和
    swift 结构体
    打家劫舍II
    Swift的访问控制讲解
    swift版 二分查找 (折半查找)
    RAC(ReactiveCocoa)介绍(一)
    变位词
    双向循环链表
    单链表
    顺序链表(C++)
  • 原文地址:https://www.cnblogs.com/ricebug2/p/14044621.html
Copyright © 2011-2022 走看看