selenium操作cookie


1,登录网页,使用webdriver的get_cookies获取cookie,并保存json文件

2,读取json文件,遍历添加网站使用的每一个cookies的name,value. 使用add_cookie添加cookie

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/11/6 17:58
# @Author  : mrwuzs
# @Site    : 
# @File    : cookiesAction.py
# @Software: PyCharm
import json
from public.common import pyselenium
from config import globalparam
from public.appModel.loginAction import Login
#cookie的存储路径
cookie_path = globalparam.cookie_path + "\\cookies.json"

def get_cookie(username,password):
    dr = pyselenium.PySelenium(globalparam.browser)
    dr.max_window()
    Login(dr).login(username, password)
    cookies = dr.origin_driver.get_cookies()
    jsonCookies = json.dumps(cookies)
    with open(cookie_path, 'w') as f:
        f.write(jsonCookies)

def add_cookie(dr):
    dr.origin_driver.delete_all_cookies()
    with open(cookie_path, 'r', encoding='utf-8') as f:
        listCookies = json.loads(f.read())
    for cookie in listCookies:
        print(cookie)
        dr.origin_driver.add_cookie({
            'domain': cookie['domain'],
            'name': cookie['name'],
            'value': cookie['value'],
            'path': '/',
            'httpOnly': False,
            'secure': False
        })
    return dr

if __name__ == '__main__':
    get_cookie("username","password")

问题记录:

1,需要下打开一个url,才能添加cookie,否者会出现以下错误

selenium.common.exceptions.InvalidCookieDomainException: Message: Document is cookie-averse


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM