selenium中复用cookie时,无法复用

  • 源代码如下:
class TestWX:
    def setup(self):
        option = Options()
        # 指定使用的浏览器地址,9222端口要与命令行启动的端口一致
        option.debugger_address = '127.0.0.1:9222'
        # 传入参数
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(4)

    def test_cookie(self):
        # 获取cookies,get后需注意有s
        # cookies = self.driver.get_cookies()
        cookies = [{'domain': '.cnblogs.com', 'expiry': 1651568117, 'httpOnly': False, 'name': '__gads', 'path': '/',
                    'secure': False, 'value': 'ID=ffe1b19d1877d9b2:T=1617872117:S=ALNI_MbNePXPuEzyjWBnI7KnZAk5GgoLvg'},
                   {'domain': 'www.cnblogs.com', 'httpOnly': True, 'name': '.AspNetCore.Antiforgery.b8-pDmTq1XM',
                    'path': '/', 'secure': False,
                    'value': 'CfDJ8L-rpLgFVEJMgssCVvNUAjtOcYiP0hfTA3ZD3-RhSZWanwfkBOPxXPAk_oyLX1IOl2uPJarkHyliXlGnkN0CKTDF1Usjlo6Mb7IzS9oia4KNYwiYGONtiE_tdBr_kMHX10-6FXJPbABMZQqpZNEHmyc'},
                   {'domain': '.cnblogs.com', 'expiry': 1649125693, 'httpOnly': False,
                    'name': 'Hm_lvt_39b794a97f47c65b6b2e4e1741dcba38', 'path': '/', 'secure': False,
                    'value': '1617589553,1617589688,1617589693'},
                   {'domain': '.cnblogs.com', 'expiry': 1617958717, 'httpOnly': False, 'name': '_gid', 'path': '/',
                    'secure': False, 'value': 'GA1.2.2048425796.1617872116'},
                   {'domain': '.cnblogs.com', 'expiry': 1680944317, 'httpOnly': False, 'name': '_ga', 'path': '/',
                    'secure': False, 'value': 'GA1.2.1886892014.1617589553'}]
        # print(cookies)
        self.driver.get("https://work.weixin.qq.com/wework_admin/frame#index")

        # 添加cookies到当前页面,遍历列表,把其中每一个字典加入到add_cookie参数中
        for cookie in cookies:
            self.driver.add_cookie(cookie)

        self.driver.get("https://work.weixin.qq.com/wework_admin/frame#index")

因为:selenium默认域名是data:,,cookie中自带的域名,如果发现当前域名不在cookie中时,则cookie设置失败,使用cookie登录前,必须先访问下目标地址
你要先打开企业微信官网,然后再去添加cookie,再去访问扫码页面

是说要再添加一个self.driver.get("https://work.weixin.qq.com/wework_admin/frame#index")吗?
还是说要先打开这个页面,这个页面的话我已经打开了

你要先打开企业微信官网,然后再去添加cookie,再去访问扫码页面

是的,我就是这么做的,但是依旧没有成功,运行后还是显示扫码登陆页面,页面只是刷新了两次,但是并没有登录

先把浏览器cookie清掉,你重新登录成功后,然后再把cookie拿到.

好,我再试试