我正在使用Selenium WebDriver(在Java中)在登录后从站点获取一些信息。这需要用户完成reCAPTCHA测试。此前后的所有内容都是自动完成的,用户无需查看或执行任何操作。
我通常使用无头浏览器,但我需要GUI,以便用户可以手动完成reCAPTCHA。目前我正在使用ChromeDriver
和WebDriverWait
等待它完成,然后继续我的东西。我没关系 - 用户完成测试,而其他一切都是自动化的。但是,如果用户在测试之外做任何事情(新标签,在地址栏中输入内容),事情就会搞砸。我该如何防止这种情况?
答案 0 :(得分:1)
不幸的是,Captcha旨在打败像Selenium这样的自动化程序,并且设计难以绕过CAPTCHA。它毕竟代表“完全自动化的公共图灵测试告诉计算机和人类分开”。通常,必须以某种方式配置网站,以便禁用CAPTCHA进行测试。虽然这有助于以更平滑的方式自动化测试,但它会危及应用程序的安全性。如果你的开发团队允许这样做,那么请他们禁用它以便运行自动化测试。
您必须自己输入验证码,而其他字段将自动填写。该方法仅实现某一点的自动化。基本上,唯一的方法是使用WAIT命令告诉脚本等待并手动完成CAPTCHA。