要獲取和保存Cookies,你可以使用Selenium的get_cookies()
方法來獲取當(dāng)前頁面的所有Cookies,并將其保存在一個(gè)變量中。然后,你可以將這些Cookies保存到一個(gè)文件中,以便在以后的會(huì)話中可以加載它們。
下面是一個(gè)使用Python和Selenium獲取并保存Cookies的示例代碼:
from selenium import webdriver
# 啟動(dòng)瀏覽器
driver = webdriver.Chrome()
# 訪問網(wǎng)頁
driver.get("https://www.example.com")
# 獲取并打印當(dāng)前頁面的所有Cookies
cookies = driver.get_cookies()
for cookie in cookies:
print(cookie)
# 保存Cookies到文件
with open("cookies.txt", "w") as f:
for cookie in cookies:
f.write(f"{cookie['name']}={cookie['value']}; ")
# 關(guān)閉瀏覽器
driver.quit()
在這個(gè)示例中,我們首先啟動(dòng)了Chrome瀏覽器,并訪問了一個(gè)網(wǎng)頁。然后,我們使用get_cookies()
方法獲取了當(dāng)前頁面的所有Cookies,并將它們保存在一個(gè)變量中。接下來,我們將這些Cookies保存到一個(gè)文本文件中,每個(gè)Cookie使用name=value
的格式。最后,我們關(guān)閉了瀏覽器。
當(dāng)你需要在以后的會(huì)話中加載這些Cookies時(shí),你可以使用add_cookie()
方法將它們添加到瀏覽器中。下面是一個(gè)加載Cookies的示例代碼:
from selenium import webdriver
# 啟動(dòng)瀏覽器
driver = webdriver.Chrome()
# 訪問網(wǎng)頁
driver.get("https://www.example.com")
# 加載Cookies
with open("cookies.txt", "r") as f:
cookies = f.read().strip().split("; ")
for cookie in cookies:
name, value = cookie.split("=")
driver.add_cookie({'name': name, 'value': value})
# 重新刷新頁面
driver.refresh()
# 關(guān)閉瀏覽器
driver.quit()
在這個(gè)示例中,我們首先啟動(dòng)了Chrome瀏覽器,并訪問了一個(gè)網(wǎng)頁。然后,我們從文件中加載之前保存的Cookies,并使用add_cookie()
方法將它們添加到瀏覽器中。最后,我們重新刷新頁面以使新的Cookies生效,并關(guān)閉了瀏覽器。
希望能對(duì)你有所幫助!