init
This commit is contained in:
33
parser/scripts/save-session.js
Normal file
33
parser/scripts/save-session.js
Normal file
@@ -0,0 +1,33 @@
|
||||
const readline = require('readline');
|
||||
const config = require('../src/config');
|
||||
const logger = require('../src/logger');
|
||||
const { launchBrowser } = require('../src/session');
|
||||
|
||||
function waitForEnter() {
|
||||
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
||||
return new Promise((resolve) => {
|
||||
rl.question('Залогинься в браузере, потом нажми Enter здесь...\n', () => {
|
||||
rl.close();
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
(async () => {
|
||||
const browser = await launchBrowser({ headless: config.authHeadless });
|
||||
const context = await browser.newContext({ viewport: { width: 1440, height: 900 } });
|
||||
const page = await context.newPage();
|
||||
|
||||
logger.info(`Opening base URL: ${config.baseUrl}`);
|
||||
await page.goto(config.baseUrl, { waitUntil: 'domcontentloaded' });
|
||||
|
||||
await waitForEnter();
|
||||
|
||||
await context.storageState({ path: config.sessionFile });
|
||||
logger.info(`Session saved to ${config.sessionFile}`);
|
||||
|
||||
await browser.close();
|
||||
})().catch((error) => {
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user