📜  如何在 selenium 中处理 cookie (1)

📅  最后修改于: 2023-12-03 15:08:48.047000             🧑  作者: Mango

如何在 Selenium 中处理 cookie

在Web自动化测试中,cookie是非常常见的一种操作,Selenium也提供了一些方法来对cookie进行处理。本文将介绍如何使用Selenium处理cookie。

获取Cookie

有两种方式来获取Cookie,一种是通过driver.get_cookies()方法获取所有cookie,另一种是通过driver.get_cookie(name)方法获取指定name的cookie。

# 获取所有cookie
cookies = driver.get_cookies()

# 获取指定name的cookie
cookie = driver.get_cookie('cookie_name')
添加Cookie

添加Cookie可以使用driver.add_cookie(cookie_dict)方法。注意,cookie_dict必须包含一些必要的信息,如namevaluedomainpath等。以下是添加cookie的示例代码:

# 添加Cookie
cookie = {'name': 'cookie_name', 'value': 'cookie_value', 'domain': 'example.com'}
driver.add_cookie(cookie)
删除Cookie

删除Cookie可以使用driver.delete_cookie(name)方法,其中name为要删除的cookie的name。如果要删除所有cookie,则可以使用driver.delete_all_cookies()方法。

# 删除指定name的cookie
driver.delete_cookie('cookie_name')

# 删除所有cookie
driver.delete_all_cookies()
示例代码

以下是一个完整的示例代码,用来展示如何获取cookie,添加cookie和删除cookie。

from selenium import webdriver

# 创建浏览器对象
driver = webdriver.Chrome()

# 使用get方法打开百度首页
driver.get('https://www.baidu.com')

# 获取所有cookie,并输出
cookies = driver.get_cookies()
print('All cookie:', cookies)

# 添加一个cookie
cookie = {'name': 'test', 'value': '123456'}
driver.add_cookie(cookie)
print('Add cookie:', driver.get_cookie('test'))

# 删除一个cookie
driver.delete_cookie('test')
print('Delete cookie:', driver.get_cookie('test'))

# 关闭浏览器
driver.quit()
参考资料

Selenium Python API — Selenium Python 官方文档(中文版)