遇到只有点击一下验证码的空白处,才会出现验证码,这种登录怎么解?

大家好,我是皮皮。

一、前言

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

image.png

二、实现过程

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

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

具体步骤如下:

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

示例代码如下:

1from selenium import webdriver 2from selenium.webdriver.common.action_chains import ActionChains 3import pytesseract 4from PIL import Image 5 6# 初始化浏览器驱动 7browser = webdriver.Chrome() 8 9# 打开网站并登录 10browser.get("http://example.com/login") 11username = browser.find_element_by_id("username") 12password = browser.find_element_by_id("password") 13submit = browser.find_element_by_id("submit") 14username.send_keys("your_username") 15password.send_keys("your_password") 16submit.click() 17 18# 定位验证码的空白处,并点击 19captcha_blank = browser.find_element_by_id("captcha_blank") 20actions = ActionChains(browser) 21actions.move_to_element(captcha_blank).click().perform() 22 23# 获取验证码图片,使用Tesseract-OCR识别 24captcha_img = browser.find_element_by_id("captcha_img") 25captcha_img.screenshot("captcha.png") 26captcha = pytesseract.image_to_string(Image.open("captcha.png")) 27 28# 输入验证码 29captcha_input = browser.find_element_by_id("captcha_input") 30captcha_input.send_keys(captcha) 31 32# 提交表单 33submit.click() 34 35# 关闭浏览器 36browser.quit()

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

image.png

三、总结

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

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

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

image.png

点赞
收藏

评论区

加载中...

相关推荐

Python中的这个super这行是啥意思啊?

大家好,我是皮皮。一、前言前几天在Python白银交流群【Ming】问了一个Python基础的问题,这里拿出来给大家分享下。二、实现过程这里【carpediem】给了一个思路,如下图所示:自动寻找父类的所有方法跟属性,具体如下:三、总结大家好,我是皮皮。这

大佬们,这个导包怎么写呀?本地执行可以,Linux执行报错

大家好,我是皮皮。一、前言前几天在Python最强白银交流群【喜靓仔】问了一个Python路径处理的问题,这里拿出来给大家分享下。下图是他的代码:二、实现过程这里【小王子】给了一个答案,如下所示:代码如下:fromsysimportpathpath.ins

尝试安装包的时候遇到的这样的错误,然后我尝试更新pip发现几乎报了同样的错,如何解决?

大家好,我是皮皮。一、前言前几天在Python白银群【黑白人生】问了一个Python基础的问题,这里拿出来给大家分享下。二、实现过程这里【ChatGPT】给出了一个思路,如下所示:开代理可能会影响Python库安装,原因如下:1.代理可能会阻止Python

在计算语义相似度中,我看网上说要加range,我不知道往哪里加?

大家好,我是皮皮。一、前言前几天在Python白银交流群【王王雪饼】问了一个Python处理语义相似度的问题,这里拿出来给大家分享下。二、实现过程这里【eric】了解到她的原始数据和停用词啥的都在自己的,代码套用的作者的,估计还是会遇到些问题的,如下图所示

盘点一个VScode中Python解释器选择的问题

大家好,我是皮皮。一、前言前几天在Python最强王者群【PythonPie】问了一个Python解释器的问题,这里拿出来给大家分享下。二、实现过程这里【Ineverleft】问了【ChatGPT】,并给出了答案,如下所示:这可能是由于Conda环境未正确

使用PyInstaller工具将Python程序打包成Mac可执行文件步骤

大家好,我是皮皮。一、前言前几天在Python钻石群【JethroShen】问了一个Python打包的问题,这里拿出来给大家分享下。二、实现过程这里【eric】问了【ChatGPT】,并给出了代码,如下所示:在Mac系统中,Python程序不能直接打包成.

遇到只有点击一下验证码的空白处,才会出现验证码,这种登录怎么解? - HelloWorld