mirror of
https://github.com/DIYgod/RSSHub.git
synced 2025-12-02 18:18:06 +08:00
* fix(route/picuki): stories Signed-off-by: Rongrong <i@rong.moe> * fix(route/picuki): video Signed-off-by: Rongrong <i@rong.moe> --------- Signed-off-by: Rongrong <i@rong.moe>
27 lines
914 B
JavaScript
27 lines
914 B
JavaScript
const puppeteerGet = async (url, browser, includeStories = false) => {
|
|
const page = await browser.newPage();
|
|
const expectResourceTypes = includeStories ? ['document', 'script', 'xhr'] : ['document'];
|
|
// await page.setExtraHTTPHeaders({ referer: host });
|
|
await page.setRequestInterception(true);
|
|
page.on('request', (request) => {
|
|
expectResourceTypes.includes(request.resourceType()) ? request.continue() : request.abort();
|
|
});
|
|
await page.goto(url, {
|
|
waitUntil: 'domcontentloaded',
|
|
});
|
|
|
|
await page.waitForSelector('.wrapper');
|
|
if (includeStories) {
|
|
await page.$eval('.show_stories_button', (btn) => btn.click());
|
|
await page.waitForSelector('.stories_container .content');
|
|
}
|
|
|
|
const html = await page.evaluate(() => document.documentElement.innerHTML);
|
|
await page.close();
|
|
return html;
|
|
};
|
|
|
|
module.exports = {
|
|
puppeteerGet,
|
|
};
|