(一) 方法
方法 |
簡(jiǎn)單說(shuō)明 |
add_cookie(cookie_dict) |
在當(dāng)前會(huì)話中添加cookie信息 cookie_dict:字典,name和value是必須的 |
delete_all_cookies() ? |
在當(dāng)前會(huì)話中刪除所有cookie信息 |
delete_cookie(name) ? |
刪除單個(gè)名為name的cookie信息 |
get_cookie(name) ? |
返回單個(gè)名為name的cookie信息,如果沒(méi)有找到,返回none |
get_cookies() ? |
返回當(dāng)前會(huì)話所有的cookie信息 |
?
(二) 對(duì)比登錄前后cookie的區(qū)別
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秒,手動(dòng)輸入賬號(hào)密碼,登錄。記得勾選下次自動(dòng)登錄
time.sleep(25)
print('登陸后')
for ck in driver.get_cookies():
? ? print(ck)
driver.quit()
對(duì)比下圖的輸出,可以發(fā)現(xiàn),登錄后多了'name': '.CNBlogsCookie','name': '.Cnblogs.AspNetCore.Cookies'。
(三) 添加cookie,實(shí)現(xiàn)自動(dòng)登錄(通過(guò)這種方式可以跳過(guò)驗(yàn)證碼)
下面的代碼記得添加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的值,把自己第二步中打印出來(lái)的value值復(fù)制過(guò)來(lái)就行了。
#這里加domain是因?yàn)槟J(rèn)添加的域名是www.cnblogs.com,所以指定域名
# (IDE不好復(fù)制的話,可以ctrl+a先復(fù)制到一些文檔編輯軟件上去,然后再?gòu)?fù)制回來(lái))
driver.add_cookie({
'domain': '.cnblogs.com',
'name': '.CNBlogsCookie',
'value':''
})
#value的值,把自己第二步中打印出來(lái)的value值復(fù)制過(guò)來(lái)就行了。
driver.add_cookie({
'domain': '.cnblogs.com',
'name': '.Cnblogs.AspNetCore.Cookies',
'value': ''
}
)
time.sleep(2)
#刷新頁(yè)面
driver.refresh()
time.sleep(3)
driver.quit()
(四) 加載谷歌的用戶配置文件(這個(gè)和操作cookie沒(méi)什么關(guān)系,懶得專門寫一篇了,就放到這了)
from selenium import webdriver import time driverOption = webdriver.ChromeOptions() #把這個(gè)C:\Users\123456\AppData\Local\Google\Chrome\User Data替換成自己的就行了 #123456把這個(gè)換成本地計(jì)算機(jī)的用戶名應(yīng)該就是了 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()
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
