亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

遇到只有點擊一下驗證碼的空白處,才會出現驗證碼,這種登錄怎么解?

大家好,我是皮皮。

一、前言

前几天在Python钻石群【gw】问了一个Python模拟登录的问题,这里拿出来给大家分享下。

image.png

二、实现过程

这里【eric】问了【ChatGPT】,并给出了代码,如下所示:

可以通过模拟用户的行为,自动点击验证码的空白处来触发验证码的出现。

具体步骤如下:

  1. 使用Selenium模块来模拟用户打开网站并登录。
  2. 定位到验证码的空白处,模拟鼠标点击来触发验证码的出现。
  3. 使用Tesseract-OCR等第三方库识别验证码图片中的字符。
  4. 将识别出来的验证码输入到相应的输入框中,完成验证码的输入。

示例代码如下:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import pytesseract
from PIL import Image

# 初始化浏览器驱动
browser = webdriver.Chrome()

# 打开网站并登录
browser.get("http://example.com/login")
username = browser.find_element_by_id("username")
password = browser.find_element_by_id("password")
submit = browser.find_element_by_id("submit")
username.send_keys("your_username")
password.send_keys("your_password")
submit.click()

# 定位验证码的空白处,并点击
captcha_blank = browser.find_element_by_id("captcha_blank")
actions = ActionChains(browser)
actions.move_to_element(captcha_blank).click().perform()

# 获取验证码图片,使用Tesseract-OCR识别
captcha_img = browser.find_element_by_id("captcha_img")
captcha_img.screenshot("captcha.png")
captcha = pytesseract.image_to_string(Image.open("captcha.png"))

# 输入验证码
captcha_input = browser.find_element_by_id("captcha_input")
captcha_input.send_keys(captcha)

# 提交表单
submit.click()

# 关闭浏览器
browser.quit()

需要注意的是,由于验证码的设计可能存在一定的难度,所以识别结果可能不太准确。在实际应用中,可能需要对识别结果进行进一步处理或使用其他方法来解决验证码的识别问题。

image.png

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python模拟登录的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【gw】提问,感谢【eric】给出的思路和代码解析,感谢【M.R.D】、【Jason】、【甯同学】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

image.png

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消