Selenium Webdriver - Cookie


Selenium webdriver 可以处理 cookie。我们可以借助 Selenium 中的各种方法添加 cookie、获取具有特定名称的 cookie 以及删除 cookie。

方法

下面列出了处理 cookie 的方法 -

  • add_cookie - 用于向当前会话添加 cookie。

  • get_cookie - 用于获取具有特定名称的 cookie。如果没有给定名称的可用 cookie,则不会产生任何结果。

  • get_cookies - 用于获取当前 URL 的所有 cookie。

  • delete_cookie - 用于删除具有特定名称的 cookie。

  • delete_all_cookies - 用于删除当前 URL 的所有 cookie。

代码实现

处理cookie的代码实现如下:

from selenium import webdriver
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
#implicit wait time
driver.implicitly_wait(5)
#url launch
driver.get("https://www.tutorialspoint.com/index.htm")
#add a cookie
c = {'name': 'c1', 'value': 'val1'}
driver.add_cookie(c)
#get a cookie
l = driver.get_cookie('c1')
print('Cookie is: ')
print(l)
#get all cookies
m = driver.get_cookies()
print('Cookies are: ')
print(m)
#delete a cookie
driver.delete_cookie('c1')
#check cookie after deletion
l = driver.get_cookie('c1')
print('Cookie is: ')
print(l)
#close driver
driver.close()

输出

cookie

输出显示消息 - Process with exit code 0 表示上述 Python 代码执行成功。首先,添加到当前会话的 cookie 的详细信息会打印在控制台中。

接下来,当前会话中存在的所有 cookie 的详细信息都会打印在控制台中。删除cookie c1后,我们尝试获取cookie c1的详细信息。由于已删除,因此 get_cookie 方法不会返回 None。