我正在尝试使用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
答案 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)
该错误意味着您的节点发布低于需求。 小心地更新计算机的节点。