Python使用selenium實(shí)現(xiàn)網(wǎng)頁(yè)用戶名 密碼 驗(yàn)證碼自動(dòng)登錄功能
好久沒(méi)有學(xué)python了,反正各種理由吧(懶惰總會(huì)有千千萬(wàn)萬(wàn)的理由),最近網(wǎng)上學(xué)習(xí)了一下selenium,實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的自動(dòng)登錄網(wǎng)頁(yè),具體如下。
1.安裝selenium:
如果你已經(jīng)安裝好anaconda3,直接在windows的dos窗口輸入命令安裝selenium:
python -m pip install --upgrade pip
查看版本pip show selenium
2.接著去http://chromedriver.storage.googleapis.com/index.html下載chromedriver.exe(根據(jù)chrome的版本下載對(duì)應(yīng)的)
3.將下載好的chromedriver.exe解壓后放到指定目錄
4.安裝tesseract-ocr.exe 配置環(huán)境變量
5.安裝pytesseract : pip install pytesseract
6.python腳本
思路:6.1登錄頁(yè)面按F12檢查元素,獲取用戶名 密碼 驗(yàn)證碼 驗(yàn)證碼圖片的元素id
6.2.調(diào)用chromedriver
6.3.截取驗(yàn)證碼圖片的位置
6.4.pytesseract識(shí)別圖片中字符,最后驗(yàn)證碼識(shí)別為空?。????這個(gè)待解決
6.5.腳本如下:
from selenium import webdriver
from PIL import Image
import pytesseract
import os,time
chromedriver = "D:\Program Files\Anaconda3\selenium\webdriver\chromedriver.exe" #這里寫(xiě)本地的chromedriver 的所在路徑
os.environ["webdriver.Chrome.driver"] = chromedriver #調(diào)用chrome瀏覽器
driver = webdriver.Chrome(chromedriver)
driver.get("http://xxxx.com") #該處為具體網(wǎng)址
driver.refresh() #刷新頁(yè)面
driver.maximize_window() #瀏覽器最大化
#獲取全屏圖片,并截取驗(yàn)證碼圖片的位置
driver.get_screenshot_as_file('a.png')
location = driver.find_element_by_id('imgValidateCode').location
size = driver.find_element_by_id('imgValidateCode').size
left = location['x']
top = location['y']
right = location['x'] + size['width']
bottom = location['y'] + size['height']
a = Image.open("a.png")
im = a.crop((left,top,right,bottom))
im.save('a.png')
time.sleep(1)
#打開(kāi)保存的驗(yàn)證碼圖片
image = Image.open("a.png")
#圖片轉(zhuǎn)換成字符
vcode = pytesseract.image_to_string(image)
print(vcode)
#填充用戶名 密碼 驗(yàn)證碼
driver.find_element_by_id("staffCode").send_keys("username")
driver.find_element_by_id("pwd").send_keys("password")
driver.find_element_by_id("validateCode").send_keys(vcode)
#點(diǎn)擊登錄
driver.find_element_by_id("loginBtn").click()
總結(jié)
以上所述是小編給大家介紹的Python實(shí)現(xiàn)網(wǎng)頁(yè)用戶名 密碼 驗(yàn)證碼自動(dòng)登錄功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 使用 Python 和 Selenium 解決 Cloudflare 驗(yàn)證碼的問(wèn)題
- python+selenium行為鏈登錄12306(滑動(dòng)驗(yàn)證碼滑塊)
- Python Selenium破解滑塊驗(yàn)證碼最新版(GEETEST95%以上通過(guò)率)
- Python +Selenium解決圖片驗(yàn)證碼登錄或注冊(cè)問(wèn)題(推薦)
- Selenium+Python 自動(dòng)化操控登錄界面實(shí)例(有簡(jiǎn)單驗(yàn)證碼圖片校驗(yàn))
- selenium+python實(shí)現(xiàn)1688網(wǎng)站驗(yàn)證碼圖片的截取功能
- Python Selenium Cookie 繞過(guò)驗(yàn)證碼實(shí)現(xiàn)登錄示例代碼
- python+selenium識(shí)別驗(yàn)證碼并登錄的示例代碼
- Python爬蟲(chóng)selenium驗(yàn)證之中文識(shí)別點(diǎn)選+圖片驗(yàn)證碼案例(最新推薦)
相關(guān)文章
詳解Python如何利用pymysql封裝項(xiàng)目通用的連接和查詢
一個(gè)項(xiàng)目通常都需要有數(shù)據(jù)庫(kù),本文就來(lái)為大家詳細(xì)講講Python如何利用pymysql簡(jiǎn)單分裝一個(gè)通用的連接,關(guān)閉和查詢,需要的可以參考一下2022-07-07
使用Pycharm創(chuàng)建一個(gè)Django項(xiàng)目的超詳細(xì)圖文教程
Django是比較經(jīng)典的Python web框架,最近剛好在項(xiàng)目中用到了Django,所以下面這篇文章主要給大家介紹了關(guān)于使用Pycharm創(chuàng)建一個(gè)Django項(xiàng)目的超詳細(xì)圖文教程,文中介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
在Docker上開(kāi)始部署Python應(yīng)用的教程
這篇文章主要介紹了在Docker上開(kāi)始部署Python應(yīng)用的教程,Docker是時(shí)下最火爆的虛擬機(jī),正在被各大云主機(jī)服務(wù)商所采用,需要的朋友可以參考下2015-04-04
Python當(dāng)中的array數(shù)組對(duì)象實(shí)例詳解
這篇文章主要介紹了Python當(dāng)中的array數(shù)組對(duì)象,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-06-06
python 監(jiān)控logcat關(guān)鍵字功能
這篇文章主要介紹了python 監(jiān)控logcat關(guān)鍵字功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
完美解決keras 讀取多個(gè)hdf5文件進(jìn)行訓(xùn)練的問(wèn)題
這篇文章主要介紹了完美解決keras 讀取多個(gè)hdf5文件進(jìn)行訓(xùn)練的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07

