From 3cf3965a6e82c17e2419d7ca6df6d3bf02ab7382 Mon Sep 17 00:00:00 2001 From: Theluyuan <1162963624@qq.com> Date: Thu, 15 Jun 2023 10:57:40 +0800 Subject: [PATCH] fix dow --- util/getList/qq.js | 140 +++++++++++++++++++++++---------------------- 1 file changed, 73 insertions(+), 67 deletions(-) diff --git a/util/getList/qq.js b/util/getList/qq.js index cbd79b5..9f6809e 100644 --- a/util/getList/qq.js +++ b/util/getList/qq.js @@ -7,76 +7,82 @@ async function getQqListData(url) { headless: false, timeout: 0 // 默认超时为30秒,设置为0则表示不设置超时 }); - const page = await browser.newPage(); - page.setViewport({ - width: 1376, - height: 768, - }); - await page.goto(url, {}); - let list = await page.evaluate(() => { - return window.__PINIA__.episodeMain - }) - // let qb = await page.$$(".b-btn--round") - await page.$$eval(".b-btn--round", (list) => { - console.log(list) - for (let i of list) { - if (i && i.innerText) { - if ("全部" == i.innerText.trim()) { - i.click() - } - } - } - }) - for (let i of list.listData[0].tabs) { - let text = i.text - let more = await page.$(".b-tab__more") - more && more.click() - await page.$$eval(".b-tab__item", (list, text) => { - console.log(list) - for (let i of list) { - if (i && i.innerText) { - if (text == i.innerText.trim()) { - i.click() - } - } - } - }, text) - await page.$$eval(".b-tag-list__tag", (list, text) => { - console.log(list) - for (let i of list) { - if (i && i.innerText) { - if (text == i.innerText.trim()) { - i.click() - } - } - } - }, text) - await seep(1000); - } - - list = await page.evaluate(() => { - return __PINIA__.episodeMain - }) - - list = list.listData[0].list - let listData = [] - for (let i of list) { - // listData.push(...i) - i.forEach(j => { - if(!j.isNoStoreWatchHistory){ - listData.push(j) - } + try{ + const page = await browser.newPage(); + page.setViewport({ + width: 1376, + height: 768, }); - } - list = [] - for(let i of listData){ - list.push({ - title:i.fullTitle, - url:"https://v.qq.com/x/cover/" + i.cid + "/" + i.vid + ".html" + await page.goto(url, {}); + let list = await page.evaluate(() => { + return window.__PINIA__.episodeMain }) + // let qb = await page.$$(".b-btn--round") + await page.$$eval(".b-btn--round", (list) => { + console.log(list) + for (let i of list) { + if (i && i.innerText) { + if ("全部" == i.innerText.trim()) { + i.click() + } + } + } + }) + for (let i of list.listData[0].tabs) { + let text = i.text + let more = await page.$(".b-tab__more") + more && more.click() + await page.$$eval(".b-tab__item", (list, text) => { + console.log(list) + for (let i of list) { + if (i && i.innerText) { + if (text == i.innerText.trim()) { + i.click() + } + } + } + }, text) + await page.$$eval(".b-tag-list__tag", (list, text) => { + console.log(list) + for (let i of list) { + if (i && i.innerText) { + if (text == i.innerText.trim()) { + i.click() + } + } + } + }, text) + await seep(1000); + } + + list = await page.evaluate(() => { + return __PINIA__.episodeMain + }) + + list = list.listData[0].list + let listData = [] + for (let i of list) { + // listData.push(...i) + i.forEach(j => { + if(!j.isNoStoreWatchHistory){ + listData.push(j) + } + }); + } + list = [] + for(let i of listData){ + list.push({ + title:i.fullTitle, + url:"https://v.qq.com/x/cover/" + i.cid + "/" + i.vid + ".html" + }) + } + browser.close() + return list + }catch{ + browser.close() + return [] } - browser.close() - return list + } module.exports = {