//每个周一打开
// 本地chrome执行文件路径
const puppeteer = require('puppeteer');
//复制"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
// /Users/changhui.wy/.cache/puppeteer/chrome/mac_arm-119.0.6045.105/chrome-mac-arm64/Google Chrome for Testing.app --remote-debugging-port=9222
async function start() {
// const browser = await puppeteer.launch({
// defaultViewport: null,
// ignoreDefaultArgs: ["--enable-automation"],
// args: [
// '--disable-web-security',
// '--start-maximized'
// ],
// // devtools: true,
// ignoreHTTPSErrors: true,
// userDataDir: '/Users/changhui.wy/chrome_dir',
// headless: false, // 表示是否在前台显示浏览器窗口,默认为true表示不显示,在后台操作
// });
const browser = await puppeteer.connect({ browserURL: 'http://localhost:9222',args: [
'--disable-web-security',
'--start-maximized'
],userDataDir: '/Users/changhui.wy/chrome_dir' });
const pages = await browser.pages();
var page = pages[0]
await page.setViewport({ width: 1920, height: 1080 });
await page.goto('https://zh.z-library.se/');
var bookbutton = "a.book-loading"
await page.waitForSelector(bookbutton, { timeout: 0 });
const urls = await page.$$eval('a.book-loading', links => {
return links.map(link => link.href);
});
for (i = 0; i < urls.length; i++){
const option = {waitUntil: 'domcontentloaded',}
var option1 = { timeout: 0 }
await page.goto(urls[i],{ waitUntil: 'networkidle2'});
await page.setViewport({ width: 1920, height: 1080 })
const downloadlinks = await page.$$eval('a.addDownloadedBook[data-book_id]', elements => {
return elements.filter(element => {
// 检查每个元素的子元素是否包含 "epub" 字符串
suffix = element.textContent.toLowerCase().trim();
return suffix.includes('epub')|| suffix.includes("pdf")||suffix.includes("mobi");
}).map(element => element.href);
});
console.log(downloadlinks)
const text = await page.$$eval('h1', elements => {
return elements.map(element => {
// 检查每个元素的子元素是否包含 "epub" 字符串
return element.textContent.toLowerCase().trim();
})
});
console.log(`text:${text},downloadlinks:${downloadlinks}`)
}
}
start()
展开
暂无相关搜索结果!