使用Selenium处理验证码

3

我试图自动化一个表单,在提交表单时会出现re-Captcha。 我卡住了,正在思考如何使用Selenium Webdriver处理验证码文本。 尽管这个验证码实时是图灵测试的实现,但我仍在寻找一些方法来处理这种情况。


请参考此问题 - http://stackoverflow.com/questions/18933178/how-to-get-the-data-from-captcha-in-selenium-webdriver - LittlePanda
当网络驱动程序到达验证码字段时,只需使用thread.sleep方法等待10秒钟,手动输入验证码,然后网络驱动程序将继续执行。 - Helping Hands
2个回答

2

所以你实际上无法这样做,验证码的定义就是要破坏你的自动化。话虽如此,我曾经使用过Tesseract OCR取得了一些成功,但那些验证码只包含数字,比较简单。当我在尝试这个方法时,我还研究了一些基于JavaScript的解决方案,但是没有任何成功的经验。我认为值得一试,但很可能你会失败。


0
如果您正在使用新的Google無擾 reCaptcha v3,則對https://www.google.com/recaptcha/api/siteverify的後端調用會返回0(100%機器人)到1.0(100%人類)之間的分數值。您可以選擇“人性”的閾值,並將此閾值移入環境特定的配置中。
例如,我們在生產系統中設置了約0.7的閾值,但在運行Selenium測試的開發環境中,我們將此閾值設置為0,以便允許我們的Se測試驗證外部面向表單的功能正確性。
我們還對生產環境(閾值為0.7)進行了Selenium抽煙測試,以確保Captcha已正確配置並防止濫用。

我正在尝试在本地实现中使用Selenium进行烟雾测试,但siteverify返回得分为0.9,就像人类正在交互一样。我对此有点困惑。 - Lucas Martins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接