目錄
1.純英文驗證碼
1.首先需要了解運行所需要的模塊
2.獲取我們的目標地址鏈接
3.進入古詩詞首頁面,找到驗證碼的標簽,獲取并且保存
4.調(diào)用超級鷹打碼平臺
5.調(diào)用超級鷹內(nèi)的方法
6.輸入賬號密碼
7.模擬登陸需要用cookie保持登陸狀態(tài)
相信有很多新手小白都跟我遇到一樣的問題,在驗證碼識別這一塊出現(xiàn)了很多的問題。
那么,我是對于那些截圖的驗證碼的提交的方法有些混亂,但是,有些打碼平臺給出的案列呢,又無法看明白,搞了幾天都沒能搞出來的。這一種是非常的痛苦的。那么對于自動化登錄,驗證碼的類型有非常的多。列子如下:
- 純英文
- 純數(shù)字
- 英文加上數(shù)字
- 滑塊
- 雙滑塊
- 計算
等等一系列的類型。那么今天就寫一下自己的,搞了幾天滑塊驗證碼,圖案點擊驗證碼,沒搞出來從而放棄轉(zhuǎn)向那種比較簡單一點點的驗證碼。純英文驗證碼的案列。(以古詩詞網(wǎng)為列子)
1.純英文驗證碼
1.首先需要了解運行所需要的模塊
```
from selenium import webdriver#瀏覽器驅(qū)動
from PIL import Image#ORC識別圖片
from pc.chaojiying_Python.chaojiying import Chaojiying_Client
from selenium.webdriver.common.by import By#元素查找方法
from requests_html import HTMLSession
import time
```
2.獲取我們的目標地址鏈接
```
# 創(chuàng)建請求對象
session = HTMLSession()
# 創(chuàng)建瀏覽器驅(qū)動對象
driver = webdriver.Chrome()
url = 'http://www.jianjiaoshuju.com/path/login.htm'
driver.maximize_window()
driver.get(url)
```
3.進入古詩詞首頁面,找到驗證碼的標簽,獲取并且保存
```
img = driver.find_element(By.XPATH, '//*[@id="imgCode"]')
img.screenshot('gus.png')
```
4.調(diào)用超級鷹打碼平臺
下載之后,將文件夾復(fù)制粘貼在自己項目目錄下,并且導(dǎo)入
`from pc.chaojiying_Python.chaojiying import Chaojiying_Client`
5.調(diào)用超級鷹內(nèi)的方法
```
chaojiying = Chaojiying_Client('超級鷹賬號', '密碼', '軟件id號') #用戶中心>>軟件ID 生成一個替換 96001
im = open('gus.png', 'rb').read() #本地圖片文件路徑 來替換 a.jpg 有時WIN系統(tǒng)須要//
result = chaojiying.PostPic(im, 3004)#3004,驗證碼類型
print(result)
```
6.輸入賬號密碼
```
driver.find_element(By.XPATH, '//*[@id="email"]').send_keys('古詩詞賬號')
time.sleep(0.5)
driver.find_element(By.XPATH, '//*[@id="pwd"]').send_keys('密碼')
time.sleep(0.5)
driver.find_element(By.XPATH, '//*[@id="code"]').send_keys(result)
time.sleep(2)
# 點擊確定按鈕
driver.find_element(By.XPATH, '//*[@id="denglu"]').click()
time.sleep(2)
```
7.模擬登陸需要用cookie保持登陸狀態(tài)
```
"""
selenium自動化登錄,獲取cookie,結(jié)合requests獲取登錄之后的數(shù)據(jù)
將cookie列表里面里面的元素進行key取value來組合新的字典
name的value值作為key值
value的value值作為value
"""
cookie_dict = {cookie['name']: cookie['value'] for cookie in driver.get_cookies()}
url = 'https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx'
headers = {
# 'Host': 'www.jianjiaoshuju.com',
# 'Referer': 'http://www.jianjiaoshuju.com/path/login.htm',
# 'Upgrade-Insecure-Requests': '1',
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
}
response = session.get(url, headers=headers, cookies=cookie_dict).content.decode()
print(response)
```
?
最后感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
文章來源:http://www.zghlxwxcb.cn/news/detail-614315.html
些資料,對于【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!文章來源地址http://www.zghlxwxcb.cn/news/detail-614315.html
到了這里,關(guān)于selenium自動化登錄(實戰(zhàn)解析)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!