ae-biu
Version:
Born For AE, Born To Do
46 lines (40 loc) • 1.07 kB
JavaScript
import selenium from 'selenium-standalone'
import ProgressBar from 'progress'
import logger from '../utils/logger'
import seleniumConfig from './selenium.config'
let bar
// selenium 安装脚本
export default function setupSelenium () {
// TODO util.promisify
return new Promise((resolve, reject) => {
console.log()
logger.log('Installing browser drivers...')
selenium.install({
...seleniumConfig,
logger: function (message) {},
progressCb
}, function (err) {
if (err) {
console.log()
logger.error(`[Error] Error occurred during installation Selenium: ${err}`)
reject(err)
process.exit(1)
}
console.log()
logger.info('Installation finished.')
resolve()
})
})
}
function progressCb (totalLength, progressLength, chunkLength) {
if (!bar) {
bar = new ProgressBar('downloading [:bar] :rate/bps :percent :etas', {
complete: '=',
incomplete: '-',
width: 20,
total: totalLength,
clear: true
})
}
bar.tick(progressLength)
}