【问题标题】:Show captcha to user with Python使用 Python 向用户显示验证码
【发布时间】:2020-05-28 03:55:25
【问题描述】:
我的代码的 init 基本上是设置 Chrome,获取 url 并使用 tKinter GUI 中提供的凭据登录。当我几乎完成代码时,我添加了chrome_options.add_argument('--headless') 以使 GUI 在不打开browser 的情况下工作,因为其他同事会使用它,而不仅仅是我。
问题是有时登录部分要求验证码解析,所以我认为最好的处理方法是只打开验证码给用户解析,关闭它并继续运行代码,是吗对吧?
我一直在搜索它,但无法理解我应该做什么。
【问题讨论】:
标签:
python
selenium
user-interface
tkinter
captcha
【解决方案1】:
这不是一个直接的答案,评论太长了。
您可以通过打开浏览器来实现它,只是为了让用户完成验证码,但我们知道,一旦选择了选项并将其分配给驱动程序,以后就无法对其进行操作,这意味着将正在进行的网络浏览器从无头浏览器更改为正常浏览器不可能。
这就是你可以做的,
- 使用无头浏览器启动程序。
- 检查网站是否要求验证码的功能。
- 如果是,则save the cookies当前浏览器并关闭无头浏览器。
- 使用您保存的那些 cookie 重新打开不带
--headless 参数的新浏览器。
- 等待用户完成验证码,完成验证码后让网站重定向或加载。
- 获取当前浏览器的 cookie 并关闭它。
- 最后用
--headless 参数重新打开一个新浏览器并使用这些cookie。
可能有一些更好的方法可以做到这一点,但如果实施得当,这将非常有效。