模拟登陆一个网站,有验证码,我的解决方案是:
- 使用 selenium + PIL + pytesseract
- 使用 selenium 先将网站保存为一个图片 allScreen.png
- 使用 selenium 里的 location 和 size 获得验证码标签
的位置
- 使用 PIL 里 image 包进行截取验证码,并保存下来
- 使用 pytesseract 进行识别验证码以获取验证码
- 最后再使用 selenium 进行模拟登陆
但是在进行到第 4 步时,发现在第 3 步的得到位置无法进行正确从 allScreen.png 中截取到验证码,就一直卡在这里,我在网上看的教程或者博客好像都是在 Windows 上能够正确截取验证码,但是在 macOS 上就不行,我查了好多方法,都是在 Windows 下的解决方案,比如:调整系统分辨率为 100%,但是 macOS 上好像没法调系统分辨率。
此外,我也尝试了在第 2 步时,将 selenium 模拟设置为全屏,即 driver.maximize_window() , 也是无法解决。
想问有没有能在 macOS 下能正确找到验证码或者目标位置的方法,也就是第 3 步和第 4 步
谢谢大家~