我在Windows机器上试用webdriverjs时遇到了一个非常奇怪的问题,并希望得到你对这个问题的帮助或建议。我按照在线指令,首先npm安装selenium-webdriver,然后下载chromedriver并配置其路径。在继续测试之前,我仔细检查安装,chrome和firefox是否正常工作,当在cmd上运行“chromedriver”时它也能正常工作“在端口9515上启动ChromeDriver 2.14.313457只允许本地连接。”所以我假设系统设置正确。然后我尝试使用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驱动程序,然后构建了chrome驱动程序,代码如下所示
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都会被打开。所以我的问题是“除非我之前构建一个firefox,否则为什么不打开chrome”??? 请给我一些建议,或者我的电脑中的某些设置是错误的?感谢你的帮助!!!
答案 0 :(得分:1)
设置正确,但使用chrome-driver的方式不正确。运行chrome-driver后,它会显示它运行的端口,默认情况下它是端口9515.然后在你的代码中你应该使用“usingServer”,
var driver = new webdriver.Builder().
usingServer('http://localhost:9515').
withCapabilities(webdriver.Capabilities.chrome()).
build();
访问chromedriver。这样Chrome驱动程序就可以正常工作。