selenium---cookie處理


  在做web測試過程中,常常會遇到登錄過程中需要滑動來進行登錄,通常滑動處理起來比較麻煩,那么我們可以通過跳過這個滑動,簡單方法,讓開發在測試版本中屏蔽滑動模塊,如果開發不願意屏蔽的時候,我們應該怎么操作呢?前面介紹接口測試的時候,提到過,我們可以通過cookies來進行模擬登陸,跳過登陸驗證,那么在做web自動化的時候能否也通過cookies來跳過登陸呢?

cookies

Cookie,有時也用其復數形式 Cookies。類型為“小型文本文件”,是某些網站為了辨別用戶身份,進行Session跟蹤而儲存在用戶本地終端上的數據(通常經過加密),一般存放在客戶端上。

cookie我們用的最多的也就是登陸了,作為用戶的唯一標識,我們可以通過cookie進行繞過輸入驗證碼的環節,就是通過selenium進行操作cookie,那么selenium對於cookie又那些操作呢?

繞過登陸

通過cookie繞過登陸,肯定先獲取登陸cookie,老規矩打開百度,登陸按鈕,查看cookie內容,選取適合的cookie

 

 

獲取到對應的cookie,這里安靜介紹下如何書寫cookie,cookie是成鍵值對顯示的,也就是類似於字典的內容,

cookie1 = {
    "domain":"xxxx",    # 服務器地址
    "name":"xxxx",    # cookie名字
    "value":"xxxxx"    # cookie值
}

通過上面找到需要的cookie值,然后通過上面的模式進行填寫,然后通過 add_cookie() 進行添加cookie

# coding:utf-8
from selenium import webdriver
import time
driver = webdriver.Chrome()

driver.get('https://www.baidu.com/')

cookie1 = {
    "domain":".baidu.com",
    "name":"BAIDUID",
    "value":"xxxxx"
}

cookie2 = {
    "domain":".baidu.com",
    "name":"BDUSS",
    "value":"xxxxx"

}
driver.add_cookie(cookie_dict=cookie1)
driver.add_cookie(cookie2)
time.sleep(3)
# 頁面刷新
driver.refresh()

text = driver.find_element_by_xpath("//*[@class='user-name c-font-normal c-color-t']").text
print(text)
if text=='我在誰身旁':
    print('登錄成功')
else:
    print('登錄失敗')

結果就不用給大家列了,很顯然是成功的

其他cookie操作

有小伙伴們問,selenium操作cookie就只有這一種嗎?那肯定不是的,安靜繼續拿着百度案例為大家解釋,繼續上述步驟,通過 get_cookies() 獲取全部cookie,也可以通過 get_cookie() 獲取指定cookie,當然也可以通過 delete_cookie(name,optionsString)  進行刪除cookie

# coding:utf-8
from selenium import webdriver
import time
driver = webdriver.Chrome()

driver.get('https://www.baidu.com/')

cookie1 = {
    "domain":".baidu.com",
    "name":"BAIDUID",
    "value":"xxxxx"
}

cookie2 = {
    "domain":".baidu.com",
    "name":"BDUSS",
    "value":"xxxxx"

}
driver.add_cookie(cookie_dict=cookie1)
driver.add_cookie(cookie2)

time.sleep(3)
# 頁面刷新
driver.refresh()
# 獲取全部cookies
cookie_all = driver.get_cookies()
print(cookie_all)
# 獲取單個cookie
bduss_cookie = driver.get_cookie('BDUSS')
print(bduss_cookie)

展示下打印的cookie值

 

刪除的cookie安靜這里沒有做演示,大家可以進行練練手,熟能生巧。

 

如果感覺安靜寫的對您有幫助,可以點個關注,持續更新中。不懂的或者有問題的可以下方留言。

 


免責聲明!

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



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