【问题标题】:Selenium 'Chrome failed to start: exited abnormally' errorSelenium 'Chrome 无法启动:异常退出' 错误
【发布时间】:2021-06-04 16:46:35
【问题描述】:

我以https://github.com/RobCherry/docker-chromedriver/blob/master/Dockerfile 为例,我的 docker 文件中有以下内容:

RUN CHROMEDRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE` && \
    mkdir -p /opt/chromedriver-$CHROMEDRIVER_VERSION && \
    curl -sS -o /tmp/chromedriver_linux64.zip http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip && \
    unzip -qq /tmp/chromedriver_linux64.zip -d /opt/chromedriver-$CHROMEDRIVER_VERSION && \
    rm /tmp/chromedriver_linux64.zip && \
    chmod +x /opt/chromedriver-$CHROMEDRIVER_VERSION/chromedriver && \
    ln -fs /opt/chromedriver-$CHROMEDRIVER_VERSION/chromedriver /usr/local/bin/chromedriver

RUN curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
    echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list && \
    apt-get -yqq update && \
    apt-get -yqq install google-chrome-stable && \
    rm -rf /var/lib/apt/lists/*

ENV DISPLAY :20.0
ENV SCREEN_GEOMETRY "1440x900x24"
ENV CHROMEDRIVER_PORT 4444
ENV CHROMEDRIVER_WHITELISTED_IPS "127.0.0.1"
ENV CHROMEDRIVER_URL_BASE ''
EXPOSE 4444

创建我正在做的驱动程序:

webdriver.Chrome()

但我明白了:

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.33.506092 (733a02544d189eeb751fe0d7ddca79a0ee28cce4),platform=Linux 4.4.27-boot2docker x86_64)

我是否必须执行其他操作才能让 Chrome 启动?

【问题讨论】:

    标签: selenium selenium-chromedriver


    【解决方案1】:

    搞定了。关键是添加:

    options = webdriver.ChromeOptions()
    options.add_argument('--disable-extensions')
    options.add_argument('--headless')
    options.add_argument('--disable-gpu')
    options.add_argument('--no-sandbox')
    return webdriver.Chrome(chrome_options=options)
    

    【讨论】:

    • 感谢您指出这一点!在 Docker 实例中无头运行 Chrome 时对我产生影响的标志实际上是 no-sandbox - 如果我不使用它,Selenium 会失败并显示 ERROR: unknown error: Chrome failed to start: crashed
    • 你在哪里添加这个?
    • 你在桌面上使用 VPS 吗?
    【解决方案2】:

    我只是通过添加 - 来让它工作

    ChromeOptions chromeOptions = new ChromeOptions();
    chromeOptions.addArguments("--headless");
    driver = new ChromeDriver(chromeOptions);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-17
      • 2014-04-20
      • 2023-01-07
      • 2016-10-08
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多