(一) 方法
方法 |
简单说明 |
add_cookie(cookie_dict) |
在当前会话中添加cookie信息 cookie_dict:字典,name和value是必须的 |
delete_all_cookies()
|
在当前会话中删除所有cookie信息 |
delete_cookie(name)
|
删除单个名为name的cookie信息 |
get_cookie(name)
|
返回单个名为name的cookie信息,如果没有找到,返回none |
get_cookies()
|
返回当前会话所有的cookie信息 |
(二) 对比登录前后cookie的区别
from selenium import webdriver
import time
# driverOption = webdriver.ChromeOptions()
# driverOption.add_argument(r'user-data-dir=C:\Users\123456\AppData\Local\Google\Chrome\User Data')
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.maximize_window()
driver.get('https://www.cnblogs.com/')
print("登录前:")
for ck in driver.get_cookies():
print(ck)
login_area = driver.find_element_by_css_selector('#login_area')
register = login_area.find_element_by_link_text('登录')
register.click()
#这步等待25秒,手动输入账号密码,登录。记得勾选下次自动登录
time.sleep(25)
print('登陆后')
for ck in driver.get_cookies():
print(ck)
driver.quit()
对比下图的输出,可以发现,登录后多了'name': '.CNBlogsCookie','name': '.Cnblogs.AspNetCore.Cookies'。
(三) 添加cookie,实现自动登录(通过这种方式可以跳过验证码)
下面的代码记得添加value的值
from selenium import webdriver
import time
# driverOption = webdriver.ChromeOptions()
# driverOption.add_argument(r'user-data-dir=C:\Users\123456\AppData\Local\Google\Chrome\User Data')
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.maximize_window()
driver.get('https://www.cnblogs.com/')
#value的值,把自己第二步中打印出来的value值复制过来就行了。
#这里加domain是因为默认添加的域名是www.cnblogs.com,所以指定域名
# (IDE不好复制的话,可以ctrl+a先复制到一些文档编辑软件上去,然后再复制回来)
driver.add_cookie({
'domain': '.cnblogs.com',
'name': '.CNBlogsCookie',
'value':''
})
#value的值,把自己第二步中打印出来的value值复制过来就行了。
driver.add_cookie({
'domain': '.cnblogs.com',
'name': '.Cnblogs.AspNetCore.Cookies',
'value': ''
}
)
time.sleep(2)
#刷新页面
driver.refresh()
time.sleep(3)
driver.quit()
(四) 加载谷歌的用户配置文件(这个和操作cookie没什么关系,懒得专门写一篇了,就放到这了)
from selenium import webdriver import time driverOption = webdriver.ChromeOptions() #把这个C:\Users\123456\AppData\Local\Google\Chrome\User Data替换成自己的就行了 #123456把这个换成本地计算机的用户名应该就是了 driverOption.add_argument(r'user-data-dir=C:\Users\123456\AppData\Local\Google\Chrome\User Data') driver = webdriver.Chrome(chrome_options=driverOption) driver.implicitly_wait(5) driver.maximize_window() driver.get('https://www.cnblogs.com/') time.sleep(3) driver.quit()