Python+Selenium筆記(十七):操作cookie


(一)方法

方法

簡單說明

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的區別

 1 from selenium import webdriver
 2 import time
 3 # driverOption = webdriver.ChromeOptions()
 4 # driverOption.add_argument(r'user-data-dir=C:\Users\123456\AppData\Local\Google\Chrome\User Data')
 5 driver = webdriver.Chrome()
 6 driver.implicitly_wait(5)
 7 driver.maximize_window()
 8 driver.get('https://www.cnblogs.com/')
 9 print("登錄前:")
10 for ck in driver.get_cookies():
11     print(ck)
12 login_area = driver.find_element_by_css_selector('#login_area')
13 register = login_area.find_element_by_link_text('登錄')
14 register.click()
15 #這步等待25秒,手動輸入賬號密碼,登錄。記得勾選下次自動登錄
16 time.sleep(25)
17 print('登陸后')
18 for ck in driver.get_cookies():
19     print(ck)
20 driver.quit()

對比下圖的輸出,可以發現,登錄后多了'name': '.CNBlogsCookie','name': '.Cnblogs.AspNetCore.Cookies'。

(三)添加cookie,實現自動登錄(通過這種方式可以跳過驗證碼)

下面的代碼記得添加value的值

 1 from selenium import webdriver
 2 import time
 3 # driverOption = webdriver.ChromeOptions()
 4 # driverOption.add_argument(r'user-data-dir=C:\Users\123456\AppData\Local\Google\Chrome\User Data')
 5 driver = webdriver.Chrome()
 6 driver.implicitly_wait(5)
 7 driver.maximize_window()
 8 driver.get('https://www.cnblogs.com/')
 9 #value的值,把自己第二步中打印出來的value值復制過來就行了。
#這里加domain是因為默認添加的域名是www.cnblogs.com,所以指定域名
10 # (IDE不好復制的話,可以ctrl+a先復制到一些文檔編輯軟件上去,然后再復制回來) 11 driver.add_cookie({ 12 'domain': '.cnblogs.com', 13 'name': '.CNBlogsCookie', 14 'value':'' 15 16 }) 17 #value的值,把自己第二步中打印出來的value值復制過來就行了。 18 driver.add_cookie({ 19 'domain': '.cnblogs.com', 20 'name': '.Cnblogs.AspNetCore.Cookies', 21 'value': '' 22 23 } 24 ) 25 time.sleep(2) 26 #刷新頁面 27 driver.refresh() 28 time.sleep(3) 29 driver.quit()

 

(四)加載谷歌的用戶配置文件(這個和操作cookie沒什么關系,懶得專門寫一篇了,就放到這了)

 1 from selenium import webdriver
 2 import time
 3 driverOption = webdriver.ChromeOptions()
 4 #把這個C:\Users\123456\AppData\Local\Google\Chrome\User Data替換成自己的就行了
 5 #123456把這個換成本地計算機的用戶名應該就是了
 6 driverOption.add_argument(r'user-data-dir=C:\Users\123456\AppData\Local\Google\Chrome\User Data')
 7 driver = webdriver.Chrome(chrome_options=driverOption)
 8 driver.implicitly_wait(5)
 9 driver.maximize_window()
10 driver.get('https://www.cnblogs.com/')
11 time.sleep(3)
12 driver.quit()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM