add 登录存储token,设置token

This commit is contained in:
wenpeng 2024-07-24 18:39:37 +08:00
parent 35ea1380cb
commit af03409400
5 changed files with 91 additions and 1 deletions

View File

@ -0,0 +1,24 @@
import { launch } from 'puppeteer';
import 'dotenv/config.js'
(async () => {
const browser = await launch({ headless: true, args: [`--window-size=1920,1080`], defaultViewport: { width: 1920, height: 1080 } });
const page = await browser.newPage();
await page.setViewport({ width: 1920, height: 1080 });
await page.goto('https://dev-dmp.meiguanjia.net/report/businessData');
console.log(current);
console.log(process.env.ACCOUNT);
const item = await page.$eval('.item.cur', node=>node.innerHTML);
console.log(item);
// const arcoMessage = await page.$eval('.arco-message .arco-message-content', node => node.innerHTML);
// await page.screenshot({ path: 'resetPassword.png' });
console.log(arcoMessage);
page.on('console', msg => {
console.log('PAGE:', msg.text())
})
await browser.close();
})();

View File

@ -5,7 +5,18 @@ import 'dotenv/config.js'
const browser = await launch({ headless: true, args: [`--window-size=1920,1080`], defaultViewport: { width: 1920, height: 1080 } });
const page = await browser.newPage();
await page.setViewport({ width: 1920, height: 1080 });
await page.goto('https://dev-dmp.meiguanjia.net/login');
const dev = 'https://dev-dmp.meiguanjia.net/login';
const stging = 'https://boss.aizhb.net/login';
let current = '';
if (process.env.PROFILE === 'dev') {
current = dev;
} else if (process.env.PROFILE === 'stging') {
current = stging;
}
console.log(current);
console.log(process.env.ACCOUNT);
await page.goto(current);
await page.locator('#userName input').fill(process.env.ACCOUNT);
await page.locator('.forgot_box').click();
await page.waitForSelector('.modify_main');
@ -19,5 +30,9 @@ import 'dotenv/config.js'
await page.screenshot({ path: 'resetPassword.png' });
console.log(arcoMessage);
page.on('console', msg => {
console.log('PAGE:', msg.text())
})
await browser.close();
})();

24
login.js Normal file
View File

@ -0,0 +1,24 @@
import { launch } from 'puppeteer';
import fs from 'fs';
import 'dotenv/config.js';
(async () => {
const browser = await launch({ headless: true, args: [`--window-size=1920,1080`], defaultViewport: { width: 1920, height: 1080 } });
const page = await browser.newPage();
await page.goto('https://dev-dmp.meiguanjia.net/login');
await page.locator('#userName input').fill(process.env.ACCOUNT);
await page.locator('#passWord input').fill(process.env.PASSWORD);
await page.locator('[type="submit"]').click();
await page.waitForSelector('.arco-message .arco-message-content', { visible: true });
const arcoMessage = await page.$eval('.arco-message .arco-message-content', node => node.innerHTML);
console.log(arcoMessage);
await new Promise(r => setTimeout(r, 1000));
const localStorage = await page.evaluate(() => Object.assign({}, window.localStorage));
const importStorage = JSON.stringify(localStorage);
const file = 'user.json';//获取file
fs.writeFileSync(file, importStorage, 'utf-8');
await browser.close();
})();

26
uselogin.js Normal file
View File

@ -0,0 +1,26 @@
import { launch } from 'puppeteer';
import fs from 'fs';
import 'dotenv/config.js';
(async () => {
const browser = await launch({ headless: false, devtools: true, args: [`--window-size=1920,1080`], defaultViewport: { width: 1920, height: 1080 } });
const page = await browser.newPage();
await page.goto('https://dev-dmp.meiguanjia.net/login');
const file = 'user.json';//获取file
const outputLocalStorge = fs.readFileSync(file, 'utf-8');
let localStorageTest = JSON.parse(outputLocalStorge);
// 设置页面的localStorage
await page.evaluateOnNewDocument(localStorageTest => {
localStorage.clear();
localStorage.setItem('merchant_access_token', localStorageTest.merchant_access_token);
localStorage.setItem('merchant_refresh_token', localStorageTest.merchant_refresh_token);
localStorage.setItem('merchant_login_data', localStorageTest.merchant_login_data);
localStorage.setItem('merchant_metadata_data', localStorageTest.merchant_metadata_data);
}, localStorageTest);
await page.goto('https://dev-dmp.meiguanjia.net/report/businessData');
await browser.close();
})();

1
user.json Normal file

File diff suppressed because one or more lines are too long