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