OpenQA.Selenium.WebDriverException:未知错误:Chrome无法启动:在Linux上通过Selenium start执行测试时异常退出

wixjitnu  于 2023-06-19  发布在  Go
关注(0)|答案(2)|浏览(323)

我创建了一个使用Selenium的应用程序,使用. NetCore在Linux上使用。这是我的代码实现:

public class Program 
{
    public static async Task Main(string[] args)
    {
        //Settings for chrome
        var chromeOpts = new ChromeOptions();
        chromeOpts.AddArgument("headless");
        chromeOpts.AddArgument("no-sandbox");

        //Get assembly path where chrome driver is located
        string codeBase = Assembly.GetExecutingAssembly().CodeBase;
        UriBuilder uri = new UriBuilder(codeBase);
        string path = Uri.UnescapeDataString(uri.Path);
        path = Path.GetDirectoryName(path);

        var driver = new ChromeDriver(path, chromeOpts, TimeSpan.FromSeconds(180));
    }
}

正如你所看到的,我正在使用Chrome作为驱动程序。我下载了here。我还在程序集的文件夹中添加了驱动程序。通过这种方式,ChromeDriver已经知道在哪里可以找到它。
在Linux上,我使用 * chmod-R 777 * 更改了文件夹权限,但是,当我运行Dotnet应用程序时,我得到了这个:

似乎 * Selenium * 无法启动应用程序。看看我得到的异常:
找不到Chrome二进制文件
不幸的是,我在网上没有找到类似的东西。

    • 更新**

我在我的Linux机器上重新安装了Chrome,现在上面的错误消失了,但现在还有另一个问题。我得到这个错误:

OpenQA.Selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally  (Driver info: chromedriver=2.9.248304,platform=Linux 4.4.0-130-generic x86_64)   
  at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)   
  at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)   
  at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)   
  at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)   
  at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)   
  at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options, TimeSpan commandTimeout)\   at ODS.Program.Main(String[] args)
ux6nzvsh

ux6nzvsh1#

此错误消息...

OpenQA.Selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally

...表示ChromeDriver无法启动/生成新的WebBrowser,即Chrome浏览器会话。
您的主要问题是您正在使用的二进制文件版本之间的不兼容,如下所示:

  • 你使用的是 chromedriver=2.9,这是相当古老的。

因此,ChromeDriver 版本(v2.33)和最近的 *Chrome浏览器 * 版本(vVersion 68.0)之间存在明显的不匹配

解决方案

  • ChromeDriver 升级到当前的ChromeDriver v2.41级别。
  • Chrome 版本保持在***Chrome v67-69***级别之间。(as per ChromeDriver v2.41 release notes
    • 通过 IDE 清理 * 您的 * 项目工作区 *,并仅使用所需的依赖项 * 重建 * 您的项目。
  • 如果您的基础 Web Client 版本太旧,请通过Revo Uninstaller卸载它,并安装最新的GA和发布版本的 Web Client
  • 执行您的@Test

参考资料

您可以在以下内容中找到一些相关讨论:

  • WebDriverException:错误信息:错误信息Chrome无法启动:在Debian服务器上使用ChromeDriver Chrome和Selenium异常退出
  • 错误信息:错误信息Chrome无法启动:使用Linux 4.9.85-38.58.amzn1.x86_64 x86_64在AWS Cloud9上异常退出
  • WebDriverException:错误信息:错误信息Chrome无法启动:通过VPS上的Python使用ChromeDriver Chrome和Selenium异常退出
ih99xse1

ih99xse12#

首先,检查您的google-chrome版本,然后下载相关的chromedriver版本i.e

相关问题