admin管理员组

文章数量:1536624

很多网站在浏览器关闭之后再打开需要重新登录,可以在登录之后用selenium保存cookie,在下次启动浏览器的时候加载之前的cookie即可免去登录。

以下是360极速浏览器的例子

保存cookie

# 设置360浏览器的路径
browser_path = r'C:\Users\Administrator\AppData\Local\360ChromeX\Chrome\Application\360ChromeX.exe'
# 设置ChromeDriver的路径
webdriver_path = r'C:\Users\Administrator\AppData\Local\360ChromeX\Chrome\Application\119.exe'

# 创建ChromeOptions实例
options = Options()
# 使用'binary_location'指定360浏览器的路径
options.binary_location = browser_path

# 创建WebDriver服务
service = Service(executable_path=webdriver_path)

# 启动360浏览器
driver360x = webdriver.Chrome(service=service, options=options)
#===这里写你的登录操作或者手动登录。


#

# 等待一段时间,确保登录成功
time.sleep(5)  # 根据实际情况调整等待时间

# 保存Cookies到文件
cookies = driver360x.get_cookies()
with open("cookies.pkl", "wb") as file:
    pickle.dump(cookies, file)

# 关闭浏览器
driver360x.quit()

加载cookie

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
import pickle
import time
# 设置360浏览器的路径和WebDriver路径
browser_path = r'C:\Users\Administrator\AppData\Local\360ChromeX\Chrome\Application\360ChromeX.exe'
webdriver_path = r'C:\Users\Administrator\AppData\Local\360ChromeX\Chrome\Application\119.exe'

# 创建ChromeOptions实例并设置360浏览器路径
options = Options()
options.binary_location = browser_path

# 创建WebDriver服务并启动360浏览器
service = Service(executable_path=webdriver_path)
driver360x = webdriver.Chrome(service=service, options=options)
time.sleep(4)
# 首先访问与cookie相关的网站,确保域名匹配
driver360x.get("https://www.xubei/")  # 替换为你的cookie对应的域名

# 加载之前保存的cookie
with open("cookies.pkl", "rb") as file:
    cookies = pickle.load(file)
    for cookie in cookies:
        driver360x.add_cookie(cookie)

# 重新访问网站,此时应该可以保持登录状态
driver360x.get("https://www.xubei/")  # 再次访问,确认登录状态
time.sleep(10)

需要注意保存cookie和加载cookie时的网站必须一致。这个cookie.pkl文件也可以拿去给requests用,这里就不细说了

本文标签: 用在并应浏览器cookie