【问题标题】:Clicking the Google OAuth2 Approve button with phantomjs/selenium使用 phantomjs/selenium 单击 Google OAuth2 Approve 按钮
【发布时间】:2023-04-10 16:35:01
【问题描述】:
我正在尝试使用无头 phantomjs 或 selenium(htmlunitwithjs 驱动程序)在 google 中自动登录/批准 oauth2 序列。
我成功登录,但是当我尝试单击“批准”按钮时,没有任何反应。
此外,当使用 chrome 驱动程序(打开浏览器窗口)运行 selenium 脚本时,一切正常,所以我怀疑我的脚本没有问题。
我的问题是:是否在“批准”页面上启用了一些机器人保护以防止无头浏览器单击“批准”按钮?
谢谢。
【问题讨论】:
标签:
selenium
selenium-webdriver
phantomjs
google-oauth
【解决方案1】:
尝试更改 phantomjs 的用户代理,看看是否会有所不同:
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36';
【解决方案2】:
我遇到了同样的问题。显然,Google OAuth2 页面上的“接受”和“取消”按钮在页面加载后 500 毫秒内被禁用。
只需让页面在加载 1 秒后等待即可解决我的问题。
页面上没有启用机器人保护。