一共分两步,第一步取到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)