使用 python 和 selenium 自动化 Google 登录显示“此浏览器或应用程序可能不安全”

2024-05-12

我尝试使用 Gmail 或任何 Google 服务登录,但显示以下“此浏览器或应用程序可能不安全”消息:

我还尝试执行诸如在我的 acc 中启用不太安全的应用程序之类的选项,但它不起作用。 然后我创建了一个新的谷歌帐户,它对我有用。但我的旧配件不行。

  1. 我该如何解决这个问题?
  2. 我怎样才能在普通的chrome浏览器中打开selenium而不是由自动化软件控制的浏览器 ?

    这是我的代码
    from selenium.webdriver import Chrome
    from selenium.webdriver.chrome.options import Options


    browser = webdriver.Chrome()
    browser.get('https://accounts.google.com/servicelogin')
    search_form = browser.find_element_by_id("identifierId")
    search_form.send_keys('mygmail')
    nextButton = browser.find_elements_by_xpath('//*[@id ="identifierNext"]') 
    search_form.send_keys('password')
    nextButton[0].click() 

首先不要使用chrome和chromedriver。您需要使用Firefox。(如果未安装)下载并安装Firefox。使用普通 Firefox 登录 Google。

您需要向 Google 网站表明您不是机器人。您可以使用这样的代码:

from selenium import webdriver
import geckodriver_autoinstaller
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

geckodriver_autoinstaller.install()

profile = webdriver.FirefoxProfile(
    '/Users/<user name>/Library/Application Support/Firefox/Profiles/xxxxx.default-release')

profile.set_preference("dom.webdriver.enabled", False)
profile.set_preference('useAutomationExtension', False)
profile.update_preferences()
desired = DesiredCapabilities.FIREFOX

driver = webdriver.Firefox(firefox_profile=profile,
                           desired_capabilities=desired)

This https://www.howtogeek.com/255587/how-to-find-your-firefox-profile-folder-on-windows-mac-and-linux/#:%7E:text=The%20default%20locations%20are%3A,%2FFirefox%2FProfiles%2Fxxxxxxxx.可以帮助您找到您的个人资料位置。

但是,为什么是火狐呢?

其实只有一个原因,chromedriver是由Google编码的。 他们可以轻松了解它是否是机器人。但是当我们用 Firefox 添加用户数据时,他们无法了解是否存在机器人。

你可以像这样愚弄谷歌。这对我也有用。我非常努力地去做这件事。希望你也能解决这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 python 和 selenium 自动化 Google 登录显示“此浏览器或应用程序可能不安全” 的相关文章

随机推荐

  • PetaPOCO 和超过 4 个加入

    petapoco 是否能够实现以下目标 1 一次查询无限连接 2 一次查询无限的一对多关系 我查看了 PetaPOCO 它似乎无法执行超过 4 个连接 最长的签名如下所示 db Query 似乎它也支持一对多关系 但仅适用于一个复合对象 如
  • python sympy 中没有指数的解决方案

    当我运行这个程序时 我最终没有得到解决方案 但应该有一个解决方案 我相信 知道我做错了什么吗 如果你从 e2 方程中去掉 Q 它似乎可以正常工作 usr bin python from sympy import a b w r symbol
  • 需要帮助在 JavaScript 中过滤数组

    这是我在 JavaScript 中的数组 let myArray Bob Katy Bob Bob Katy 我想通过检查来过滤这个数组如果当前值等于其后或之前的值 我不太确定如何实现这一目标 但是 有人能给我指出一个方向吗 现在我知道如何
  • 将不同类型的对象与可比较的对象进行比较

    A java public class A implements Comparable private String id private String name public A String a String b id a name b
  • 使用父对象引用进行 XML 反序列化

    我有一个描述网站的 XML 文件 它由站点作为根节点组成 可以有页面 页面可以有按钮或文本框和对话框等对象 对话框也可以有对象 在相应的C 类中 全部派生自Element 当我反序列化 XML 时 如何才能引用正在构造的元素的父级 我被告知
  • Docker Toolbox (Windows):无效的卷规范

    配置 使用 Windows 10 Docker 工具箱 not原生 Docker 以便能够使用虚拟机 背景 有一个 Python 2 7 脚本应该运行 Docker 容器 代码如下所示 self docker containers run
  • Symfony2:twig 中的 form_widget 调用抛出异常“可捕获的致命错误......必须是 Symfony\Component\Form\FormView 的实例”

    当我在控制器操作中创建一个表单时 如下所示 form this gt createFormBuilder gt add field name gt getForm return array form gt form 我尝试在树枝模板中渲染此
  • webgl中绑定缓冲区的逻辑是什么?

    有时我发现自己在以不同顺序声明缓冲区 使用 createBuffer bindBuffer bufferdata 和在代码的其他部分 通常在绘制循环中 重新绑定它们之间挣扎 如果我在绘制数组之前不重新绑定顶点缓冲区 控制台会抱怨尝试访问超出
  • 将 XML 数据提取到 php [重复]

    这个问题在这里已经有答案了 我正在尝试从 XML 文件中提取数据 http freegeoip net xml google com http freegeoip net xml google com 您可以看到该文件的内容类似于
  • 如何使用 pytorch 同时迭代两个数据加载器?

    我正在尝试实现一个接收两张图像的暹罗网络 我加载这些图像并创建两个单独的数据加载器 在我的循环中 我想同时遍历两个数据加载器 以便我可以在两个图像上训练网络 for i data in enumerate zip dataloaders1
  • PHP if in_array 表示多个值

    我有一个由 3 到 12 个值之间的任意位置生成的数组 它根据帐户信息生成该数组 result ad gt user gt groups user username 我想检查这个数组是否有多个值 大约 4 或 5 个 如果其中有任何一个值
  • 使用 EAR 与 WAR 相比有何优势?

    我们正在 Wildfly 8 上部署 JavaEE 7 应用程序 之前 我们已将所有企业应用程序 WAR 多个 EJB JAR 文件 打包为 EAR 然而 现在 JavaEE 允许您将 EJB 打包在 WAR 文件中 或者作为 WAR 的
  • 由于合并而不允许 git revert 但未给出 -m 选项

    我正在尝试使用 revert 命令恢复到 git 中的某个 哈希 号 我正在使用以下命令 git revert c14609d74eec3ccebafc73fa875ec58445471765 但是 我得到以下返回 错误 提交 c14609
  • SQL:将现有列设置为 MySQL 中的主键

    我有一个包含 3 列的数据库 id name somethingelse 该表没有设置索引 我收到 未定义索引 在 phpmyadmin 中id 是一个 7 位字母数字值 每行都是唯一的 我想将 Drugid 设置为主键 索引 我不知道有没
  • 在 Go 中跟踪 HTTP 请求时指定超时

    我知道通过执行以下操作来指定 HTTP 请求超时的常用方法 httpClient http Client Timeout time Duration 5 time Second 但是 我似乎不知道在跟踪 HTTP 请求时如何执行相同的操作
  • 非基于套接字的Java服务器[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 摆脱老派 我正在使用 Java SE 5 或 java v1 5 请不要告诉我升级 因为对于我正在处理的 这是私人的 我需要使用这个版本的
  • 如何在按下托盘图标菜单操作时执行功能?

    int main int argc char argv QApplication oApp argc argv QAction action1 QMenu menu QSystemTrayIcon TrayIcon QIcon favico
  • OCaml 文字负数?

    我在学 这是我觉得奇怪的事情 let test treeways x match x with when x lt 0 gt 1 when x gt 0 gt 1 gt 0 如果我这样称呼它 test threeways 10 我会得到类型
  • JFreeChart 背景颜色设置不受尊重

    在 JFreeChart 中我用来生成图表类别数据集与创建折线图 这看起来像这样 Due to some axis changes I had to switch to XYLineAndShapeRenderer and now the
  • 使用 python 和 selenium 自动化 Google 登录显示“此浏览器或应用程序可能不安全”

    我尝试使用 Gmail 或任何 Google 服务登录 但显示以下 此浏览器或应用程序可能不安全 消息 我还尝试执行诸如在我的 acc 中启用不太安全的应用程序之类的选项 但它不起作用 然后我创建了一个新的谷歌帐户 它对我有用 但我的旧配件