Python+selenium 之操作Cookie


在驗證瀏覽器中cookie是否正確時,有時基於真實cookie的測試是無法通過白盒和集成測試進行的。Webdriver提供了操作Cookie的相關方法,可以讀取,添加和刪除cookie信息。

文本webdriver操作cookie()的方法:

get_cookie(): 獲得所有cookie信息。

get_cookie(name):返回字典的key為name的cookie

add_cookie(cookie_dict):添加cookie。“cookie_dict”指字典對象,必須有name和value值。

delete_cookie(name,optionsString):刪除cookie信息。“name”是要刪除的cookie的名稱。“optionsString”是該cookie的選項,目前支持的選項包括“路徑”,“域”

delete_all_cookies():刪除所有cookie信息。

獲取cookie代碼如下:

 1 from selenium import webdriver
 2 driver = webdriver.Firefox()
 3 # driver.get("http://member.rltxtest.xyz/login/login.html")
 4 driver.get("http://www.youdao.com")
 5 
 6 # 獲取cookie信息
 7 cookies = driver.get_cookies()
 8 # 打印獲取的cookies信息
 9 print(cookies)
10 
11 driver.quit()

添加cookie的代碼:

 1 from selenium import webdriver
 2 
 3 driver = webdriver.Firefox ()
 4 # driver.get("http://member.rltxtest.xyz/login/login.html")
 5 driver.get ("http://www.youdao.com")
 6 # 向cookie中name和value中添加回話信息
 7 driver.add_cookie ({'name': 'key-aaaaaaa'}, {'value': 'value-bbbbb'})
 8 
 9 # 遍歷cookie中name和value信息並打印對應的信息,並包括添加對應的信息
10 for cookie in driver.get_cookies ():
11     print("%s->%s" % (cookie['name'], cookie['value']))
12 
13 driver.quit ()

 記錄cookie

  通過向瀏覽器中添加cookie可以繞過登錄的驗證碼。在登錄的時候勾選記住密碼,當下次訪問該網站時就默認處於登錄狀態了。記住密碼功能其實就記錄了瀏覽器的cookie中。通過webdriver來操作瀏覽器的cookie,可以通過add_cookie()方法將用戶名密碼寫入瀏覽器cookie,當再次訪問時,服務器將直接讀取瀏覽器的cookie進行登錄。

 1 from selenium import webdriver
 2 import time
 3 
 4 driver = webdriver.Firefox()
 5 driver.get("http://192.168.1.51/oneCard/login")
 6 #將用戶名密碼寫入瀏覽器cookie中
 7 driver.add_cookie({'name':'username','value':'super'})
 8 driver.add_cookie({'name':'password','value':'asd,./123*.'})
 9 #再次訪問網站,將會自動登錄
10 driver.get("http://192.168.1.51/oneCard/login")

 


免責聲明!

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



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