当前位置: 首页 > 知识库问答 >
问题:

硒:网络驱动程序异常:浏览器无法启动:崩溃,因为谷歌浏览器不再运行,所以Chrome驱动程序假设浏览器已经崩溃

莘羽
2023-03-14

最近我换了电脑,从那以后我不能用硒启动chrome。我也尝试过Firefox,但浏览器实例就是无法启动。

from selenium import webdriver

d = webdriver.Chrome('/home/PycharmProjects/chromedriver')

d.get('https://www.google.nl/')

我得到以下错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /opt/google/chrome/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.43.600233, platform=Linux 4.15.0-38-generic x86_64)

我安装了最新的chrome版本和chrome驱动程序

编辑:尝试@b0sss解决方案后,我收到以下错误。

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
  (chrome not reachable)
  (The process started from chrome location /opt/google/chrome/google-chrome is no longer running, so chromedriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.43.600233 (523efee95e3d68b8719b3a1c83051aa63aa6b10d),platform=Linux 4.15.0-38-generic x86_64)

共有3个答案

南门嘉
2023-03-14

希望这对某人有所帮助。这在Ubuntu 18.10上对我有效

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument('--no-sandbox')
driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver', options=chrome_options)
driver.get('http://www.google.com')
print('test')
driver.close()
卞云瀚
2023-03-14

此错误消息...

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /opt/google/chrome/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

…意味着ChromeDriver无法启动/生成新的WebBrowser,即Chrome浏览器会话。

您的主要问题是Chrome浏览器未安装在系统的默认位置。

服务器(即ChromeDriver)希望您将Chrome安装在每个系统的默认位置,如下图所示:

1对于Linux系统,ChromeDriver希望/usr/bin/google chrome是实际chrome二进制文件的符号链接。

如果您在非标准位置使用 Chrome 可执行文件,则必须覆盖 Chrome 二进制位置,如下所示:

> < li>

Python解决方案:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.binary_location = "C:\\path\\to\\chrome.exe"    #chrome binary location specified here
options.add_argument("--start-maximized") #open Browser in maximized mode
options.add_argument("--no-sandbox") #bypass OS security model
options.add_argument("--disable-dev-shm-usage") #overcome limited resource problems
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\path\to\chromedriver.exe')
driver.get('http://google.com/')

Java解决方案:

System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
ChromeOptions opt = new ChromeOptions();
opt.setBinary("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");  //chrome binary location specified here
options.addArguments("start-maximized");
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);
WebDriver driver = new ChromeDriver(opt);
driver.get("https://www.google.com/");
鄢朝斑
2023-03-14

尝试在这里下载并使用这个最新的chrome驱动程序版本:

  • https://sites.google.com/chromium.org/driver/

试试这个:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
d = webdriver.Chrome('/home/<user>/chromedriver',chrome_options=chrome_options)
d.get('https://www.google.nl/')
 类似资料:
  • 我正在使用ChromeDriver V2.24,我的系统中有Chrome Browser52(未安装,可执行文件)。 NosuchSessionException:没有这样的会话 控制台: 注意:在Windows安全更新之前,当我使用ChromeDriver3.1和Chrome58时,我的脚本运行良好。更新后,我无法启动Chrome浏览器,因为它不是启动浏览器,而是在后台运行。

  • 我尝试在我的办公室内联网连接中使用硒网络驱动程序启动火狐浏览器。收到错误消息: 线程“main”org.openqa.selenium.remote中出现异常。UnreachableBrowserException:无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。 [![Selenium Web驱动程序错误消息][2]][2] 谁能在这方面帮助我。

  • 我正在使用最新的selenium-webdriver(2.47.1)和watir-webdriver(0.8.0),并将Edge WebDriver安装在Ruby/bin文件夹中,就像其他WebDriver.exe文件一样;比如chromedriver或IEDriver。它似乎启动了Edge浏览器,但在关闭浏览器并失败所有测试之前,它不会试图转到URL。Windows中的防火墙允许它,当我运行rs

  • 我无法使用selenium webdriver 3.4.0启动Firefox浏览器

  • 上面说 ChromeDriver是一个实现W3C WebDriver标准的独立服务器 看起来W3C WebDriver标准只定义了自动化程序和Chromedriver之间的接口。Chromedriver充当HTTP服务器,从自动化程序获取命令。 但是ChromeDriver如何与Chrome通信呢? 还是通过HTTP协议? 如果是,我们在哪里可以得到关于细节的留档?Chrome内部的哪个组件负责处

  • 主要目的是在一个容器中运行多个chrome浏览器(9个浏览器)。 我有一个hub&node设置,容器中有多个浏览器,可以在一个chrome node容器中运行。我用下面的docker命令创建了两个容器: 要创建集线器容器:dockerrun-d-p4445:4444--名称为selenium_hub selenium/hub