我学习Selenium Webdriver。我不能使用导入类运行脚本,但我可以在没有类的情况下运行它,只需使用导入功能即可。我像这样用 babel-cli 运行它node ./babel-cli/bin/babel-node.js --presets node6 ./test.js
//test.js
import homePage from "./home_page"
var webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser('firefox')
.build();
home_page = new homePage(driver);
home_page.go_home_page();
//home_page.js
export default class homePage{
constructor(driver){
this.driver = driver;
}
go_home_page = function(){
this.driver.get("https://www.google.com/");
}
}
错误是:home_page.js: Unexpected token (5:15)
Node 最初是使用 CommonJS 模块构建的,过渡到 ES2015 模块并不容易。
您的示例同时使用两者:import
是 ES2015,require
是 CommonJS。如果您将import
更改为require
它应该可以工作。
该import
的 CommonJS 等效项应如下所示:
var homePage = require('./home_page');
es6 需要使用 babel 进行转译。 您需要在包 JSON 文件中包含 babel。