微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google登录失败,出现HTTP错误400,提示“抱歉,那里出了点问题请重试” 更新:

如何解决Google登录失败,出现HTTP错误400,提示“抱歉,那里出了点问题请重试” 更新:

说明/背景

我设置了一个脚本,该脚本在Google Chrome中打开了我们公司的Google网站(并非无头),并在该页面上做了一些自动化工作。偶尔需要刷新登录信息,这对我手动登录来说是什么。在过去的几个月中,直到上周,它一直运行良好。今天我注意到输入服务器的Gmail地址并单击“下一步”按钮后,由于HTTP状态为400的服务器响应,我收到了上述错误消息。

复制步骤

木偶版本:2.0.0
平台/操作系统版本:Windows 10
网址(如果有):https://sites.google.com/..
Node.js版本:v12.13.0

哪些步骤可以重现问题?

  1. 运行一个Puppeteer脚本以打开一个需要登录的Google网站。

    (async () => {
    try {
    const browser = await puppeteer.launch({headless: false,userDataDir: "<ProfileDirectory>"});
    const pageLogin = await browser.newPage();
    await pageLogin.goto('https://sites.google.com/...',{waitUntil: 'networkidle2'});
    ...
    await browser.close();
    }
    catch (error) {
    console.log(error.stacktrace);
    }
    })();
    
  2. 手动输入Gmail地址,然后单击“下一步”。

  3. 获取错误消息“对不起,那里出了点问题。请重试。”服务器返回HTTP状态代码400的结果。

更新:

手动打开Chrome(相同的userDataDir),相应的Google网站仍然照常工作。

解决方法

this post的评论之一提到Google试图阻止Puppeteer,Selenium等的登录。这可能就是为什么您遇到400错误的原因。

前面提到的帖子中最近发表的评论之一是链接a gist和一些可能仍然有效的示例代码,但是还没有尝试过。

,

建议使用剧作家/木偶+ Firefox。谷歌似乎在chrome中添加了一些内容,因此他们可以检测到浏览器是否自动运行

,

在研究Firefox的Puppeteer时,我注意到(1)Puppeteer下载自己正在执行的本地Google Chrome二进制文件,以及(2)我安装的Puppeteer 2.0.0版本已过时。这意味着,Puppeteer实际使用的浏览器可能也已过时。 该解决方案就像将Puppeteer更新到最新版本2.1.1一样容易。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。