UNPKG

tsukuba-me

Version:

University of Tsukuba school life utilities. Manaba attend (atmnb) helper, and PaperCut U.T. uploader.

47 lines (38 loc) 1.17 kB
const puppeteer = require('puppeteer') const { app } = require('electron').remote const keytar = require('keytar') const Store = require('electron-store') const store = new Store() const { fixPathForAsarUnpack } = require('electron-util') const appName = app.getName() class PuppeteerWrapper { constructor (options) { this._options = options || { headless: true } } async setUp () { this.username = await this._getUsername() this.password = await this._getPassword() this.br = await puppeteer.launch({ headless: this._options.headless, executablePath: this._getChromiumExecPath() }) } async _getUsername () { let username = store.get('username') return username } async _getPassword () { return keytar.getPassword(appName, this.username) } _getChromiumExecPath () { return fixPathForAsarUnpack(puppeteer.executablePath()) } async newPage () { const page = await this.br.newPage() return page } async cleanUp () { this.br.close() } } module.exports.PuppeteerWrapper = PuppeteerWrapper