尝试使用 selenium 登录网站,遇到了图形验证码。
网址:https://www.polyt.cn/
查看网页代码,获得验证码图片地址,下载到本地,发现同一个地址,每次访问获得的验证码也不一样,所以,改用截屏然后裁剪出验证码,再进行图片识别的方法。
但是截图时发生了问题, Python 的 save_screenshot() 截屏后,发生了截取并保存的图片,和肉眼实际见到的图片不一样的情况。
下面是 webdriver.Chrome() 开启的页面,我肉眼见到的验证码是NXRK:
但是用 save_screenshot() 截屏并保存的图片(如下),验证码是HMPU
下面是我的代码:
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from PIL import Image
#启动chrome浏览器
driver = webdriver.Chrome()
#进入首页
driver.get("https://www.polyt.cn/")
time.sleep(1)
#点击登录/注册
login = driver.find_element_by_class_name('no-login').click()
#点击“密码登录”标签
login = driver.find_element_by_class_name('login-title-tab').click()
# 截图保存验证码
# 全屏截图
driver.save_screenshot("hello1.png")
下面是代码运行结果
请问怎么做才能使我截屏的验证码图片和实际的一样呢?
不需要截屏,每次访问获得的验证码是不一样,但你只要用最新一次获取的图片,进行片识别就可以
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y