使用 Selenium 时 Cookie 不起作用
Cookies don't work when using Selenium
我尝试使用 cookie 自动登录。
所以我在通过我的帐户成功登录后保存了 cookie。
但是,每次我尝试读取文件并添加 cookie 以获取 URL。它只是将我引导至 URL。退出代码将为 0。
我不知道为什么。能否请你帮忙?谢谢
这是我的代码:
import time
from selenium import webdriver
import pickle
def save_cookies(driver,path):
with open(path,'wb') as filehandler:
pickle.dump(driver.get_cookies(),filehandler)
def load_cookie(driver,path):
with open(path,'rb') as cookiesfile:
cookies=pickle.load(cookiesfile)
for cookie in cookies:
# del cookie['domain']
print(cookie)
driver.add_cookie(cookie)
browser = webdriver.Chrome()
url="https://mail.qq.com/"
path="D:\download\test.txt"
browser.get(url)
load_cookie(browser,path)
time.sleep(2)
browser.get(url)
print(browser.get_cookies)
当我从 cookies 打印 cookie 时,cookies 会像这样:
{'expiry': 2147385600, 'httpOnly': False, 'name': 'pgv_pvi', 'path': '/', 'secure': False, 'value': '82039xxx'}
{'expiry': 1536315518, 'httpOnly': False, 'name': 'ptui_loginuin', 'path': '/', 'secure': False, 'value': '441984694@qq.com'}
{'httpOnly': False, 'name': 'pgv_si', 'path': '/', 'secure': False, 'value': 's6206319xxx'}
{'httpOnly': False, 'name': 'ptisp', 'path': '/', 'secure': False, 'value': 'cm'}
我试过在代码末尾打印cookies,但是好像加不上。为什么?我错过了什么吗?
为此使用 chrome 选项用户数据目录。 cookie 始终被存储并可以从那里使用。这种方法比代码更快。
chrome_options = Options()
chrome_options.add_argument("user-data-dir=selenium")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("www.protonmail.com")
我尝试使用 cookie 自动登录。 所以我在通过我的帐户成功登录后保存了 cookie。 但是,每次我尝试读取文件并添加 cookie 以获取 URL。它只是将我引导至 URL。退出代码将为 0。
我不知道为什么。能否请你帮忙?谢谢
这是我的代码:
import time
from selenium import webdriver
import pickle
def save_cookies(driver,path):
with open(path,'wb') as filehandler:
pickle.dump(driver.get_cookies(),filehandler)
def load_cookie(driver,path):
with open(path,'rb') as cookiesfile:
cookies=pickle.load(cookiesfile)
for cookie in cookies:
# del cookie['domain']
print(cookie)
driver.add_cookie(cookie)
browser = webdriver.Chrome()
url="https://mail.qq.com/"
path="D:\download\test.txt"
browser.get(url)
load_cookie(browser,path)
time.sleep(2)
browser.get(url)
print(browser.get_cookies)
当我从 cookies 打印 cookie 时,cookies 会像这样:
{'expiry': 2147385600, 'httpOnly': False, 'name': 'pgv_pvi', 'path': '/', 'secure': False, 'value': '82039xxx'}
{'expiry': 1536315518, 'httpOnly': False, 'name': 'ptui_loginuin', 'path': '/', 'secure': False, 'value': '441984694@qq.com'}
{'httpOnly': False, 'name': 'pgv_si', 'path': '/', 'secure': False, 'value': 's6206319xxx'}
{'httpOnly': False, 'name': 'ptisp', 'path': '/', 'secure': False, 'value': 'cm'}
我试过在代码末尾打印cookies,但是好像加不上。为什么?我错过了什么吗?
为此使用 chrome 选项用户数据目录。 cookie 始终被存储并可以从那里使用。这种方法比代码更快。
chrome_options = Options()
chrome_options.add_argument("user-data-dir=selenium")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("www.protonmail.com")