一共分两步,第一步取到cookie,第二步加入到登录的浏览器的userdata里。

 

 

getcookies.py  #取登录系统的cookie存到txt里
from selenium import webdriver
import time
import json

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
time.sleep(10)  #在此时间手动登录,然后程序自动取cookies
with open("./cookies.txt", 'w') as f:
    f.write(json.dumps(driver.get_cookies()))

driver.close()

 test.py  #添加cookie到测试系统中,多用户操作可以使用一个帐号登录使用。

from selenium import webdriver
import json

driver = webdriver.Chrome()

driver.get("https://wwww.baidu.com")
driver.delete_all_cookies()

with open('./cookies.txt','r') as f:
    # print(f.readlines())
    cookies_list = json.load(f)

    #方法1 expiry 变int
    for cookie in cookies_list:
        if isinstance(cookie.get('expiry'), float):
        # if isinstance(cookie.get('expiry'), int):  //有时侯是float
            print(cookie['expiry'])
            cookie['expiry'] = int(cookie['expiry'])
            driver.add_cookie(cookie)

    # 方法2
    for cookie in cookies_list:
        if 'expiry' in cookie:
            del cookie['expiry']
            driver.add_cookie(cookie)

 

posted on 2021-09-10 18:57  白灰  阅读(797)  评论(0编辑  收藏  举报