自動化測試 -- 經過Cookie跳過登陸驗證碼

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

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

 

準備工具:瀏覽器

------------------cookie

fiddler工具

Python+selenium測試

------------------ui

以百度登陸爲例。spa

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

 

接下來開始動手。htm

一、開啓Fiddler 工具,像這樣!

 

二、經過瀏覽器登陸正常登陸百度帳號。像這樣!

 

三、經過Fiddler獲取登陸請求的Cookie。找到Host爲「passport.baidu.com」的URL,在右側窗口查看該請求的Cookie

而後,找到重要的兩個參數BAIDUID」和「BDUSS」。

 

四、編寫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信息。

最後,刷新頁面,如今已是登陸狀態了,獲取登陸以後的用戶名並打印。

相關文章
相關標籤/搜索