在Node.js上使用Javascript运行selenium

在Node.js上使用Javascript运行selenium,javascript,node.js,selenium,Javascript,Node.js,Selenium,我不懂Javascript,所以如果我的问题很琐碎,我深表歉意 我正在尝试运行一个用Javascript编写的selenium测试。就像我通常做的那样,我只想从简单的事情开始,然后从那里开始工作。在我的脚本中,我只是尝试使用chromedriver加载Google var webdriver = require("selenium-webdriver"); var driver = new webdriver.Builder().withCapabilities(webdriver.Capab

我不懂Javascript,所以如果我的问题很琐碎,我深表歉意

我正在尝试运行一个用Javascript编写的selenium测试。就像我通常做的那样,我只想从简单的事情开始,然后从那里开始工作。在我的脚本中,我只是尝试使用chromedriver加载Google

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

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

driver.get("http://www.google.com");
在CLI上,我导航到保存
Test.js
文件的目录,并运行命令
node Test.js
。我总是得到这个错误的回应

C:\Selenium\node_modules\selenium-webdriver\_base.js:104
    vm.runInContext(opt_srcText, closure, src);
       ^
SyntaxError: Unexpected token )
at goog.loadModuleFromSource_ (C:\Selenium\node_modules\selenium-webdriver\l
at Object.goog.loadModule (C:\Selenium\node_modules\selenium-webdriver\lib\g
at C:\Selenium\node_modules\selenium-webdriver\lib\webdriver\promise.js:1:6
at Object.Context.closure.goog.retrieveAndExecModule_ (C:\Selenium\node_modu
at <anonymous>:1:6
at Context.closure.closure.vm.createContext.CLOSURE_IMPORT_SCRIPT (C:\Seleni
at Object.goog.importScript_ (C:\Selenium\node_modules\selenium-webdriver\li
at Object.goog.importModule_ (C:\Selenium\node_modules\selenium-webdriver\li
at Object.goog.writeScripts_ (C:\Selenium\node_modules\selenium-webdriver\li
at Object.goog.require (C:\Selenium\node_modules\selenium-webdriver\lib\goog
C:\Selenium\node\u modules\Selenium webdriver\\u base.js:104
runInContext(opt_srcText,closure,src);
^
SyntaxError:意外标记)
在goog.loadModuleFromSource(C:\Selenium\node\u modules\Selenium webdriver\l
在Object.goog.loadModule(C:\Selenium\node\u modules\Selenium webdriver\lib\g
位于C:\Selenium\node\u modules\Selenium webdriver\lib\webdriver\promise.js:1:6
在Object.Context.closure.goog.retrieveAndExecModule(C:\Selenium\node\u modu)中
时间:1:6
在Context.closure.closure.vm.createContext.closure\u IMPORT\u脚本(C:\Seleni)中
在Object.goog.importScript(C:\Selenium\node\u modules\Selenium webdriver\li
在Object.goog.importModule(C:\Selenium\node\u modules\Selenium webdriver\li
在Object.goog.writeScripts(C:\Selenium\node\u modules\Selenium webdriver\li
在Object.goog.require(C:\Selenium\node\u modules\Selenium webdriver\lib\goog
我最初在我的Windows机器上运行了这段代码,当我遇到这个错误时,我将其归因于Windows和Node.js不同意,并在我的Mac上尝试了这段代码。仍然没有运气,因为我得到了完全相同的响应

在这两台机器上,我都安装了node和npm。在执行测试之前,我运行了命令
npm install selenium webdriver
,并在路径中添加了
chromedriver


我不知道我做错了什么,所以如果有人能给我指出正确的方向,我将不胜感激。

我使用的node版本太旧了。 感谢@Louis为达成此解决方案提供的帮助


我所做的是卸载node并用最新版本重新安装它。我可以想象升级也会起作用。

我已经将您的代码复制到一个文件中,并毫无问题地运行了它。我在Linux上,但我怀疑这是造成差异的原因。在我的MAC上,node版本是0.10.26,npm版本是3.4.1。不知道这些版本是否已过时oo old?节点0.10.26可能太旧了。我运行了4..2.2。我在windows计算机上更新了节点,它现在正在运行。感谢您的帮助,我在ubuntu遇到了问题。因此更新很困难,但使用此url很有用: