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