SyntaxError:在严格模式下使用const?

Shu*_*tra 42 selenium node.js selenium-webdriver

我想用selenium-webdriver登录facebook.com.

var webdriver = require('selenium-webdriver'),
    By = require('selenium-webdriver').By,
    until = require('selenium-webdriver').until;

var driver = new webdriver.Builder()
    .forBrowser('firefox')
    .build();

driver.get('https://www.facebook.com/login');
driver.findElement(By.id('email')).sendKeys('****');
driver.findElement(By.id('pass')).sendKeys('*****');
driver.findElement(By.id('loginbutton')).click();

driver.findElement(By.linkText('Settings')).then(function(element) {
  console.log('Yes, found the element');
}, function(error) {
  console.log('The element was not found, as expected');
});
driver.quit();
Run Code Online (Sandbox Code Playgroud)

这是错误的:

/home/shubham/node_modules/selenium-webdriver/index.js:25
const builder = require('./builder');
^^^^^
SyntaxError: Use of const in strict mode.
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/shubham/Music/amazon_login/test_22_4_16/sel_login.js:1:79)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
Run Code Online (Sandbox Code Playgroud)

node --version v0.10.37

npm --version1.4.28

protractor --version 版本3.2.2

selenium-webdriver@2.53.1

ten*_*its 148

更新nodejs解决了问题:

npm cache clean -f
sudo npm install -g n
sudo n stable
node --version
node app.js
Run Code Online (Sandbox Code Playgroud)

您必须以root/administrator身份运行第二个和第三个命令.


Alf*_*nzo 11

n stable不会为我做的伎俩.另一方面,

nvm install stable
Run Code Online (Sandbox Code Playgroud)

这实际上让我最后一个nodejs版本.显然n stable不会v0.12.14为我传球.我真的不知道为什么.

注意:nvm是Node Version Manager,您可以从其github页面安装它.谢谢@isaiah注意到这nvm不是一个已知的命令.