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

时间:2016-04-22 09:22:06

标签: node.js selenium 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();

这是错误的:

/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)

node --version v0.10.37

npm --version 1.4.28

protractor --version版本3.2.2

selenium-webdriver@2.53.1

7 个答案:

答案 0 :(得分:145)

更新nodejs解决了这个问题:

npm cache clean -f
sudo npm install -g n
sudo n stable
node --version
node app.js

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

答案 1 :(得分:12)

n stable对我不起作用。另一方面,

nvm install stable

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

注意:nvm是节点版本管理器,您可以从its github page安装它。感谢@isaiah注意到nvm不是已知的命令。

答案 2 :(得分:5)

对我来说,解决起来更简单,只需访问Node网站,获取并安装LTS版本。

答案 3 :(得分:2)

更新您的node,它将解决此问题。

答案 4 :(得分:1)

如果您使用的是Windows,只需从node website下载并重新安装LTS或当前版本。

答案 5 :(得分:0)

更新NodeJS解决了这个问题。 但是,在运行sudo npm install -g n之后,您可能会收到以下错误:

npm: relocation error: npm: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference

为了克服此错误,请尝试使用以下命令升级openssl:

sudo yum update openssl

答案 6 :(得分:-2)

该错误意味着您的节点发布低于需求。 小心地更新计算机的节点。