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