Selenium Chromedriver:创建频道失败

时间:2016-10-25 05:28:17

标签: node.js selenium selenium-chromedriver

过去几周我一直在使用Selenium Chromedriver,突然间我发现了这个奇怪的错误。我不知道突然发生了什么变化。

[2560:6100:1025/082057:ERROR:browser_gpu_channel_host_factory.cc(125)] Failed to create channel.
[ERROR] Unhandled exception occured. SessionNotCreatedError: session not created exception
from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"9556.1","isDefault":true},"id":1,"name":"","origin":"://"}
  (Session info: chrome=54.0.2840.71)
  (Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 10.0.14393 x86_64)

我用Node.js运行chromedriver:

var selenium = require("selenium-webdriver/chrome"),
        options = new selenium.Options(),
        service = new selenium.ServiceBuilder().build();

    options.addArguments(["--disable-web-security", "-incognito"]);
    var driver = new selenium.Driver(options, service);
    driver.get(fetchSource.url).then(function() {
        browser = driver;
        fetchSource.ready = true;
        console.log("Ready to fetch data.");
    });

更新chronedriver版本没有帮助。不知道如何解决这个错误?谢谢!

1 个答案:

答案 0 :(得分:1)

原来Chrome更新了,新版本由于某种原因与chromedriver不兼容。运行旧版本的chrome解决了这个问题。在Node.js中,您可以通过更改选项对象来自定义可运行镶边的路径:

options.setChromeBinaryPath('path\to\chrome');