This commit is contained in:
rsgltzyd 2024-07-24 21:58:24 +08:00
parent af03409400
commit e0d531ad82
3 changed files with 27 additions and 24 deletions

View File

@ -1,20 +1,12 @@
import { launch } from 'puppeteer';
import 'dotenv/config.js'
import { setLocalStorage } from './utils/userUtils.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-modal', { visible: true });
await page.locator('.arco-list-content:first-child .role_box').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);
setLocalStorage(page, 'user.json');
await page.goto('https://dev-dmp.meiguanjia.net/report/businessData');
await page.waitForSelector('.menu-list-second');
const childElements = await page.$$('.menu-list-second .menu-list-second-item');

View File

@ -2,24 +2,15 @@ import { launch } from 'puppeteer';
import fs from 'fs';
import 'dotenv/config.js';
import { setLocalStorage } from './utils/userUtils.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);
await setLocalStorage(page, 'user.json');
// 设置页面的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();

20
utils/userUtils.js Normal file
View File

@ -0,0 +1,20 @@
import fs from 'fs';
/**
* 设置页面的LocalStorage
* @param {*} page
* @param {String} file 用户信息
*/
export async function setLocalStorage(page, 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);
}