自動化測試 -- 通過Cookie跳過登錄驗證碼


之前寫過一篇博客:自動化測試如何解決驗證碼的問題

介紹了驗證碼的幾種處理方式,最后一種就是通過Cookie跳轉過驗證碼,但講的不夠詳細。今天,就詳細的介紹一下這種方式。

 

准備工具:

------------------

fiddler

Python+selenium

------------------

以百度登錄為例。

驗證碼是漢字的,我想通過程序識別起來有點難度,也會比較麻煩。

 

接下來開始動手。

1、開啟Fiddler 工具,像這樣!

 

2、通過瀏覽器登錄正常登錄百度賬號。像這樣!

 

3、通過Fiddler獲取登錄請求的Cookie。找到Host為“passport.baidu.com”的URL,在右側窗口查看該請求的Cookie

然后,找到重要的兩個參數BAIDUID”和“BDUSS”。

 

4、編寫Selenium自動化測試腳本,跳過登錄。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

# 添加Cookie
driver.add_cookie({'name':'BAIDUID','value':'AAAAAAAAAAAAAA:FG=1'})
driver.add_cookie({'name':'BDUSS','value':'AAAAAAAAAAAAAAAAAAAAAAAAAA'})

# 刷新頁面
driver.refresh()

# 獲取登錄用戶名並打印
username = driver.find_element_by_class_name("user-name").text
print(username)

#關閉瀏覽器
driver.quit()

首先,訪問百度首頁,處於未登錄狀態。

然后,通過Selenium所提供add_cookie()方法添加Cookie信息。

最后,刷新頁面,現在已經是登錄狀態了,獲取登錄之后的用戶名並打印。

 


免責聲明!

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



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