1. 程式人生 > >通過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資訊。

最後,重新整理頁面,現在已經是登入狀態了,獲取登入之後的使用者名稱並列印。