温馨提示×

Selenium怎么获取并保存cookies

小亿
236
2024-02-01 12:31:36
栏目: 编程语言

要获取和保存Cookies,你可以使用Selenium的get_cookies()方法来获取当前页面的所有Cookies,并将其保存在一个变量中。然后,你可以将这些Cookies保存到一个文件中,以便在以后的会话中可以加载它们。

下面是一个使用Python和Selenium获取并保存Cookies的示例代码:

from selenium import webdriver

# 启动浏览器
driver = webdriver.Chrome()

# 访问网页
driver.get("https://www.example.com")

# 获取并打印当前页面的所有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']}; ")

# 关闭浏览器
driver.quit()

在这个示例中,我们首先启动了Chrome浏览器,并访问了一个网页。然后,我们使用get_cookies()方法获取了当前页面的所有Cookies,并将它们保存在一个变量中。接下来,我们将这些Cookies保存到一个文本文件中,每个Cookie使用name=value的格式。最后,我们关闭了浏览器。

当你需要在以后的会话中加载这些Cookies时,你可以使用add_cookie()方法将它们添加到浏览器中。下面是一个加载Cookies的示例代码:

from selenium import webdriver

# 启动浏览器
driver = webdriver.Chrome()

# 访问网页
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()

# 关闭浏览器
driver.quit()

在这个示例中,我们首先启动了Chrome浏览器,并访问了一个网页。然后,我们从文件中加载之前保存的Cookies,并使用add_cookie()方法将它们添加到浏览器中。最后,我们重新刷新页面以使新的Cookies生效,并关闭了浏览器。

希望能对你有所帮助!

0