Chrome金丝雀无头模式不适用于windows10

时间:2017-12-05 14:32:25

标签: python-3.x google-chrome selenium-webdriver selenium-chromedriver

Google Chrome Canary无法在Windows上无头工作。

Chrome无头无法在Windows上运行。 当我尝试执行下面的代码时,错误发生如下。 但它适用于非无头模式。

我知道Canary不稳定,但我想用它来学习网络高级规范。

这个错误是由金丝雀的错误引起的? 还是由我的代码造成的?

代码:

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

op = Options()
op.binary_location = "C:\\Users\\username\\AppData\\Local\\Google\\Chrome SxS\\Application\\chrome.exe"
op.add_argument("--headless")
op.add_argument("--disable-gpu")

driver = webdriver.Chrome("chromedriver.exe", chrome_options=op)

driver.get("http://www.google.com")

错误:

[1205/232511.644:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.
[1205/232511.644:ERROR:instance.cc(49)] Unable to locate service manifest for metrics
[1205/232511.644:ERROR:service_manager.cc(890)] Failed to resolve service name: metrics

DevTools listening on ws://127.0.0.1:12022/devtools/browser/3d7c8ff8-625a-4326-b968-bbff
[1205/232511.714:ERROR:instance.cc(49)] Unable to locate service manifest for metrics
[1205/232511.714:ERROR:service_manager.cc(890)] Failed to resolve service name: metrics
[1205/232511.714:ERROR:instance.cc(49)] Unable to locate service manifest for metrics
[1205/232511.714:ERROR:service_manager.cc(890)] Failed to resolve service name: metrics
[1205/232513.037:ERROR:instance.cc(49)] Unable to locate service manifest for metrics
[1205/232513.037:ERROR:service_manager.cc(890)] Failed to resolve service name: metrics
操作系统:Windows 10 Home 1709
Chrome:65.0.3285.0(官方建造)金丝雀64位
ChromeDriver:2.33.506120

1 个答案:

答案 0 :(得分:0)

由于您的错误日志报告如下:

[1205/232511.644:ERROR:gpu_process_transport_factory.cc(1017)] Lost UI shared context.
[1205/232511.644:ERROR:instance.cc(49)] Unable to locate service manifest for metrics
[1205/232511.644:ERROR:service_manager.cc(890)] Failed to resolve service name: metrics

我会建议以下步骤:

  • 通过Google Chrome Canary
  • 从您的系统中卸载 Revo Uninstaller
  • 使用CCleaner工具清除所有操作系统杂务。
  • 安装新鲜 Google Chrome Canary
  • 使用以下代码块:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    op = Options()
    op.binary_location = "C:\\Users\\username\\AppData\\Local\\Google\\Chrome SxS\\Application\\chrome.exe"
    op.add_argument("--headless")
    op.add_argument("--disable-gpu")
    driver = webdriver.Chrome(chrome_options=op, executable_path=r'C:\path\to\chromedriver.exe')
    driver.get("http://google.com/")
    
  

您可以在Set chrome browser binary to chrome webdriver in Python讨论中找到多种方法来处理多个 Chrome Browser Binaries