使用 Selenium 处理验证码

Captcha handling using Selenium

我正在尝试自动执行一个表单,在该表单中,我将重新验证码作为表单提交的一部分。我陷入困境并弄清楚我们如何使用 selenium webdriver 处理验证码文本。虽然这个验证码是实时图灵测试实现,但我仍然在寻找一些方法来处理这种情况。

所以你不能真的那样做,验证码的定义是为了打破你的自动化。也就是说,我使用 Tesseract OCR 时运气不错,但我处理的是相当简单的只包含数字的数据。在这样做的同时,我还研究了一些基于 javascript 的解决方案,但我无法通过这些解决方案取得任何成功。我认为值得一试,但很可能你运气不好

如果您使用的是新的 Google unobtrusive reCaptcha v3,后端会调用 https://www.google.com/recaptcha/api/siteverify returns 一个介于 0(100% 机器人)和 1.0(100% 人类)之间的分数值。您可以选择 'humanity' 的阈值级别,并且可以将此阈值移动到特定于环境的配置中。

例如我们所做的是在我们的生产系统中设置一个大约 0.7 的阈值,但是在我们 运行 我们的 Selenium 测试的开发环境中,我们将这个阈值设置为 0 以允许我们的 Se 测试验证功能的正确性我们面向外部的形式。

我们还 运行 针对我们的生产环境(阈值为 0.7)进行了 Selenium 冒烟测试,以确保正确配置验证码并防止滥用。