Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python向用户显示验证码_Python_Selenium_User Interface_Tkinter_Captcha - Fatal编程技术网

使用Python向用户显示验证码

使用Python向用户显示验证码,python,selenium,user-interface,tkinter,captcha,Python,Selenium,User Interface,Tkinter,Captcha,我的代码的init基本上是设置Chrome,获取url并使用tKinter GUI中提供的凭据登录。当我几乎完成代码时,我添加了chrome\u选项。添加参数('--headless')以使GUI在不打开浏览器的情况下工作,因为其他同事将使用它,而不仅仅是我 问题是,有时登录部分要求验证码解析,所以我认为处理它的最好方法是只打开验证码给用户解析,关闭它并继续运行代码,对吗 我一直在搜索,无法理解我该怎么做。这不是一个直接的答案,评论时间太长 您可以通过打开浏览器来完成验证码,但正如我们所知,一旦

我的代码的init基本上是设置Chrome,获取url并使用tKinter GUI中提供的凭据登录。当我几乎完成代码时,我添加了
chrome\u选项。添加参数('--headless')
以使GUI在不打开浏览器的情况下工作,因为其他同事将使用它,而不仅仅是我

问题是,有时登录部分要求验证码解析,所以我认为处理它的最好方法是只打开验证码给用户解析,关闭它并继续运行代码,对吗


我一直在搜索,无法理解我该怎么做。

这不是一个直接的答案,评论时间太长

您可以通过打开浏览器来完成验证码,但正如我们所知,一旦选择了选项并将其分配给驱动程序,以后就无法对其进行操作,这意味着无法将正在运行的web浏览器从无头更改为正常

这就是你能做的

  • 使用无头浏览器启动程序
  • 用于检查站点是否要求验证码的功能
  • 如果是,则选择当前浏览器的名称并关闭无头浏览器
  • 使用保存的Cookie重新打开新浏览器,但不带
    --headless
    参数
  • 等待用户完成验证码并让站点在执行验证码后重定向或加载
  • 获取当前浏览器的cookies并将其关闭
  • 最后,使用
    --headless
    参数重新打开一个新浏览器,并使用这些cookie

  • 也许有更好的方法可以做到这一点,但如果实施得当,这将非常有效