add timedimension
This commit is contained in:
parent
17d6dd7cf6
commit
468a252f21
@ -2,13 +2,14 @@ import { launch } from 'puppeteer';
|
|||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import 'dotenv/config.js'
|
import 'dotenv/config.js'
|
||||||
import { setLocalStorage } from './utils/userUtils.js';
|
import { setLocalStorage } from './utils/userUtils.js';
|
||||||
import { getDate, cleanType } from './utils/businessDataUtil.js';
|
import { getDate, cleanType, changeTimeDimension } from './utils/businessDataUtil.js';
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
const browser = await launch({ headless: false, args: [`--window-size=1920,1080`], defaultViewport: { width: 1920, height: 1080 } });
|
const browser = await launch({ headless: false, args: [`--window-size=1920,1080`], defaultViewport: { width: 1920, height: 1080 } });
|
||||||
const page = await browser.newPage();
|
const page = await browser.newPage();
|
||||||
setLocalStorage(page, '.\\data\\user.json');
|
setLocalStorage(page, '.\\data\\user.json');
|
||||||
await page.goto('https://dev-dmp.meiguanjia.net/report/businessData');
|
await page.goto('https://dev-dmp.meiguanjia.net/report/businessData');
|
||||||
|
// await page.goto('https://boss.aizhb.net/report/businessData');
|
||||||
|
|
||||||
await page.waitForSelector('.menu-list-second');
|
await page.waitForSelector('.menu-list-second');
|
||||||
const childElements = await page.$$('.menu-list-second .menu-list-second-item');
|
const childElements = await page.$$('.menu-list-second .menu-list-second-item');
|
||||||
@ -17,6 +18,8 @@ import { getDate, cleanType } from './utils/businessDataUtil.js';
|
|||||||
const str = await page.evaluate(node => node.textContent.trim(), childElements[1]);
|
const str = await page.evaluate(node => node.textContent.trim(), childElements[1]);
|
||||||
console.log(str);
|
console.log(str);
|
||||||
|
|
||||||
|
await changeTimeDimension(page, '周报');
|
||||||
|
|
||||||
const file = './data/businessData.json';
|
const file = './data/businessData.json';
|
||||||
|
|
||||||
fs.writeFileSync(file, '', 'utf-8');
|
fs.writeFileSync(file, '', 'utf-8');
|
||||||
|
|||||||
1
login.js
1
login.js
@ -6,6 +6,7 @@ import 'dotenv/config.js';
|
|||||||
const browser = await launch({ headless: true, args: [`--window-size=1920,1080`], defaultViewport: { width: 1920, height: 1080 } });
|
const browser = await launch({ headless: true, args: [`--window-size=1920,1080`], defaultViewport: { width: 1920, height: 1080 } });
|
||||||
const page = await browser.newPage();
|
const page = await browser.newPage();
|
||||||
await page.goto('https://dev-dmp.meiguanjia.net/login');
|
await page.goto('https://dev-dmp.meiguanjia.net/login');
|
||||||
|
// await page.goto('https://boss.aizhb.net/login');
|
||||||
await page.locator('#userName input').fill(process.env.ACCOUNT);
|
await page.locator('#userName input').fill(process.env.ACCOUNT);
|
||||||
await page.locator('#passWord input').fill(process.env.PASSWORD);
|
await page.locator('#passWord input').fill(process.env.PASSWORD);
|
||||||
await page.locator('[type="submit"]').click();
|
await page.locator('[type="submit"]').click();
|
||||||
|
|||||||
@ -33,4 +33,23 @@ export async function cleanType(page, element, timeContent) {
|
|||||||
const time = await page.$(element);
|
const time = await page.$(element);
|
||||||
await time.click({ clickCount: 3 });
|
await time.click({ clickCount: 3 });
|
||||||
await time.type(timeContent, { delay: 100 });
|
await time.type(timeContent, { delay: 100 });
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function changeTimeDimension(page, timeDimension) {
|
||||||
|
let rb = await page.$('.arco-space-item .arco-select-view-value');
|
||||||
|
let s = await page.evaluate(node => node.textContent.trim(), rb);
|
||||||
|
console.log(s);
|
||||||
|
|
||||||
|
await rb.click();
|
||||||
|
const timeMap = new Map();
|
||||||
|
rb = await page.$$('.arco-select-dropdown-list .arco-select-option');
|
||||||
|
for (const iterator of rb) {
|
||||||
|
s = await page.evaluate(node => node.textContent.trim(), iterator)
|
||||||
|
console.log(s);
|
||||||
|
timeMap.set(s, iterator);
|
||||||
|
}
|
||||||
|
console.log('===');
|
||||||
|
console.log(timeMap);
|
||||||
|
|
||||||
|
await timeMap.get(timeDimension).click();
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user