无法在 javascript 中使用 webdriver 打开 chrome

unable to open chrome using webdriver in javascript

我在 windows 机器上试用 webdriverjs 时遇到了一个非常奇怪的问题,希望得到你的帮助或建议。我按照网上的说明,先npm install selenium-webdriver,然后下载chromedriver并配置它的路径。在继续测试之前,我仔细检查安装,chrome 和 firefox 工作正常,当 运行 "chromedriver" 在 cmd 上它也工作正常 "Starting ChromeDriver 2.14.313457 on port 9515 Only local connections are allowed." 所以我假设系统设置是正确的。然后我尝试使用 js 的第一个简单示例。下面是我的代码:

var webdriver = require('selenium-webdriver');

var driver = new webdriver.Builder().
   withCapabilities(webdriver.Capabilities.firefox()).
   build();

driver.get('http://www.google.com/ncr');

driver.sleep(10000);

driver.quit();

这在 firefox 上工作得很好,打开 firefox 并定向到 google 页面。但是,当我使用 chrome 切换到第二个示例时,chrome 从未打开并且没有显示任何错误消息,它只是停留在那里。这是我使用的第二个示例,与第一个示例的唯一区别是将 firefox 更改为 chrome

var webdriver = require('selenium-webdriver');

var driver = new webdriver.Builder().
   withCapabilities(webdriver.Capabilities.chrome()).
   build();

driver.get('http://www.google.com/ncr');

driver.sleep(10000);

driver.quit();

我不知道为什么 chrome 没有被 webdriver 打开,我在网上搜索了一些答案,但没有找到任何答案。

更奇怪的部分来了。我更改了我的代码以先构建一个 firefox-driver,然后构建 chrome-driver,代码如下所示

var webdriver = require('selenium-webdriver');

var driver = new webdriver.Builder().
   withCapabilities(webdriver.Capabilities.firefox()).
   build();
var driver_2 = new webdriver.Builder().
   withCapabilities(webdriver.Capabilities.chrome()).
   build();
driver_2.sleep(10000);

driver_2.quit();

这样,firefox和chrome都打开了。所以我的问题是 "why chrome is not opened unless i build a firefox before it"??? 请给我一些建议,还是我电脑的某些设置有误?感谢你的帮助!!!

设置是正确的,但是您使用chrome驱动程序的方式不正确。在 运行 chrome-driver 之后,它会显示它运行的端口,默认情况下是端口 9515。然后在你的代码中你应该使用 "usingServer",

var driver = new webdriver.Builder().
     usingServer('http://localhost:9515').
     withCapabilities(webdriver.Capabilities.chrome()).
     build();

访问chrome驱动程序。这样 chrome-驱动程序可以正常工作。