Selenium怎么獲取并保存cookies

小億
239
2024-02-01 12:31:36
欄目: 編程語言

要獲取和保存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ì)你有所幫助!

0