【问题标题】:Selenium Crashing: Chrome automation extension has crashedSelenium 崩溃:Chrome 自动化扩展已崩溃
【发布时间】:2016-03-13 21:37:26
【问题描述】:

我正在使用 Selenium 网络驱动程序,今天,不知为何,我开始收到错误消息“Chrome 自动化扩展程序已崩溃。单击此气球以重新加载扩展程序”。

我唯一能想到的是我今天添加了一个扩展来测试 XPath 到 Chrome。但是在我添加之后它工作了一段时间。

会不会是 Chrome 的一些安全问题?

【问题讨论】:

  • 我遇到了同样的问题,我不知道发生了什么。
  • 请添加有关您使用的 Selenium Webdriver 版本的信息?还有chromedrive版本和chrome版本。我有同样的问题。我的 chromedriver 是 2.23 版本,selenium webdriver v 3 (beta) 和 chrome v.52

标签: google-chrome selenium


【解决方案1】:

我遇到了同样的问题,我可以通过以下方式解决它:
1.不要以管理员身份运行 Chrome。
2.不要以管理员身份运行您的 selenium 应用程序。

【讨论】:

  • 谢谢!这是一个诡计。如果您使用控制台命令运行它 - 启动没有管理员权限的控制台。
  • 如果我使用 TeamCity 运行测试怎么办?我创建了非管理员帐户来启动 teamcity 代理服务,但它没有解决问题。
  • 谢谢。而不是使用 Spyder 从 Chrome 中使用 Jupiter。它工作..
  • 同样适用于 webdriver.io。你不应该在管理员模式下运行你的 VS Code。
【解决方案2】:

好的,那么您是否认真考虑将 admin 部分作为问题的解决方案?

为什么不听从 Google 的建议? http://chromedriver.chromium.org/help/chrome-doesn-t-start

在创建 WebDriver 会话时传递“--no-sandbox”标志。 特殊的测试环境有时会导致 Chrome 在 沙盒已启用。

所以我最终按照他们的建议进行操作,并且可以以 admin 的身份运行。 猜猜这对我来说是一个前进的方向,希望它对其他人也是一个有效的解决方案。

var options = new ChromeOptions();
options.AddArgument("--no-sandbox");
browser = new ChromeDriver(options);

【讨论】:

  • 这解决了我的问题,由从 windows junction (mklink /D /J) 运行引起的
【解决方案3】:

我的问题是我的 Windows 临时文件夹位于不是我的主 Windows 驱动器 (C) 的驱动器 (D) 并且 我还将该驱动器映射到 C 的子文件夹.

  1. 我进入了磁盘管理
  2. 右键单击我的辅助驱动器
  3. 已选择“更改驱动器号和路径”
  4. 删除了我将驱动器安装为文件夹的条目
  5. 打开了我的环境设置
  6. 将我的 TEMP 和 TMP 条目从“C:\Temp”(我的第二个驱动器的安装路径)更改为“D:\”
  7. 重新启动我的电脑

请注意,第 4 步很重要。如果存在,插件仍然会崩溃。

【讨论】:

  • 我从一个整体映射到 C:\ 卷上的目录的磁盘执行 Chrome 时遇到了同样的问题。 Chrome 沙盒似乎不喜欢这种情况。我添加了 --no-sandbox 参数,一切正常。
  • 我从 windows 中的一个结点运行时遇到了这个问题 (mklink /D /J)
【解决方案4】:

我有同样的问题,但我的情况是我试图用不同的配置文件打开 Visual Studio。当我用默认配置文件打开 Visual Studio 时,它工作正常。所以我猜它的配置文件问题。

【讨论】:

  • 当您在 Visual Studio 中打开任何解决方案时,它使用默认配置文件(您的 Windows 用户名和密码)。但我必须打开具有不同配置文件的 Visual Studio,导致 vpn 连接问题。现在我无法启动 chrome 驱动程序。我尝试使用 chrome 默认配置文件,但它会启动浏览器并在 webdriver 对象中返回 null。
  • 我面临同样的问题@Neeraj ..你找到任何解决方案了吗?
【解决方案5】:

我在没有管理员权限的情况下启动 Git Bash 时解决了我的问题。

【讨论】:

    【解决方案6】:

    我遇到了同样的问题,使用 Python 和 Selenium

    options = webdriver.ChromeOptions();
    options.add_argument("--no-sandbox")
    driver = webdriver.Chrome(options=options,executable_path="../drivers/chromedriver.exe")
    

    以上代码解决了我的问题

    【讨论】:

      【解决方案7】:

      我们遇到了同样的问题。为了解决问题,我们现在使用 Firefox。您只需要通过 jbaranda NuGet 包添加 Selenium.Firefox.WebDriver

      【讨论】:

        【解决方案8】:

        我遇到了同样的问题。在我的情况下,它与我用来登录 Windows 的 Windows 帐户有关,该帐户是管理员组中的帐户。但是,不希望更改帐户类型。

        为了解决这个问题,我在控制面板(“超级用户”类型)下创建了一个新的本地帐户,并使用该帐户运行 Chrome,它运行良好。

        【讨论】:

          【解决方案9】:

          对于 Python,这解决了我使用的问题:

          from selenium import webdriver
          
          # start the browser
          options = webdriver.ChromeOptions()
          # options.add_argument("--headless")
          options.add_argument("--no-sandbox")
          # options.add_argument("--disable-dev-shm-usage")
          # options.add_argument("--disable-gpu")
          # options.add_argument("--window-size=1920,1080")
          
          driver = webdriver.Chrome(options=options)
          driver.get("https://www.google.com")
          
          print(driver.title)
          print(driver.current_url)
          
          #driver.quit() # Uncoment to keep chromedriver open.
          

          【讨论】:

            【解决方案10】:

            在我的情况下,我必须在 Admin 下运行它,我通过更新 .NET 框架来修复它。您可以在 Windows 更新中进行更新。我更新了所有与 .NET 框架相关的项目,包括关键项目和可选项目。

            这是我更新的两个项目:

            2018-01 .NET 框架质量汇总预览 (KB4057272)

            .NET 框架 4.7.1 (KB4033369)

            编辑:我使用 chromedriver 2.34 和 Chrome v64.0.3282.140(64 位)运行 Win 10

            【讨论】:

            • 我认为这根本不能回答最初发布的问题。
            猜你喜欢
            • 1970-01-01
            • 2020-02-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多