diff --git a/example2.js b/example2.js index 7ac1317..4c3394d 100644 --- a/example2.js +++ b/example2.js @@ -2,13 +2,14 @@ import { launch } from 'puppeteer'; import fs from 'fs'; import 'dotenv/config.js' import { setLocalStorage } from './utils/userUtils.js'; -import { getDate, cleanType } from './utils/businessDataUtil.js'; +import { getDate, cleanType, changeTimeDimension } from './utils/businessDataUtil.js'; (async () => { const browser = await launch({ headless: false, args: [`--window-size=1920,1080`], defaultViewport: { width: 1920, height: 1080 } }); const page = await browser.newPage(); setLocalStorage(page, '.\\data\\user.json'); 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'); 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]); console.log(str); + await changeTimeDimension(page, '周报'); + const file = './data/businessData.json'; fs.writeFileSync(file, '', 'utf-8'); diff --git a/login.js b/login.js index f7844ce..3e8be85 100644 --- a/login.js +++ b/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 page = await browser.newPage(); 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('#passWord input').fill(process.env.PASSWORD); await page.locator('[type="submit"]').click(); diff --git a/utils/businessDataUtil.js b/utils/businessDataUtil.js index fa96d75..c5b054c 100644 --- a/utils/businessDataUtil.js +++ b/utils/businessDataUtil.js @@ -33,4 +33,23 @@ export async function cleanType(page, element, timeContent) { const time = await page.$(element); await time.click({ clickCount: 3 }); 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(); } \ No newline at end of file