因此,您可以在其中找到该聊天网站,单击“以访客身份连接”,输入用户名,完成ReCaptcha v2,然后单击“连接”,您就可以进入。
如果我在浏览器中执行此操作,它将正常运行。 如果我在受硒控制的chromedriver浏览器中执行此操作,则会收到错误消息。 (错误是“请输入验证码”,但这无关紧要。服务器明确检测到我,因为服务器发出了特殊响应,从而触发了此错误)
重要提示:在两种情况下(我的浏览器和chromedriver浏览器),我都是100%手动完成的!我只是使用硒启动浏览器,然后从那里继续。 我什至尝试在chromedriver浏览器中添加一个选项以使用实际的浏览器设置。它包含我的历史记录,Cookie和所有内容。但是当我尝试进入聊天室时,我得到了错误。
我还上网查看,发现有些人声称网站可以通过注意到一些特定的JavaScript变量“ cdc_”来检测硒。我已经编辑了chromedriver的十六进制代码,按照在线说明更改了该变量,然后再次尝试,结果相同。 我花了几个小时试图找出答案...
有一件有趣的事情可以帮助发现问题: 如果我打开了浏览器,并尝试使用我的配置文件使用chromedriver运行python脚本,则chromedriver浏览器将启动,并且python代码将返回错误,指出该配置文件已被使用(但浏览器将保持打开状态)。现在,如果我尝试使用此chromedriver浏览器访问聊天室,它将起作用。
编辑:我已经查看了两种情况下通过Fiddler发出的请求,并且标头100%相同!我的意思是100%!甚至sessionid,PHPSESSID和cfuid也相同,因为它使用相同的配置文件。
唯一更改的是发布请求数据。更具体地说,验证码响应(因为它是一个不同的响应)和另一个变量s。这个变量s是通过使用一个名为Challenge的怪异javascript文件计算出来的。我不确定这能做什么或如何工作。
编辑:已解决 我通过添加选项来解决此问题:
options.add_argument(“-disable-blink-features = AutomationControlled”);