2 准 备 工 作
3 分 析 思 路
});
//文章列表地址
HOME_URL = `${BASE_URL}/u/f46becd1ed83`;
const viewport_size = {
width: 0,
height: 0,
};
const page = await browser.newPage();
//设置浏览器的宽、高
page.setViewport(viewport_size);
//打开文章主页
await page.goto(HOME_URL);
return page.evaluate(() => {
return new Promise((resolve, reject) => {
var totalHeight = 0;
var distance = 100;
var timer = setInterval(() => {
console.log( 执行间断函数 );
var scrollHeight = document.body.scrollHeight;
window.scrollBy(0, distance);
totalHeight += distance;
if (totalHeight >= scrollHeight) {
console.log( 滑动到底 );
clearInterval(timer);
resolve();
}
}, 100);
})
});
}
const article_elements = articles_element.querySelectorAll( li );
const articleElementArray = Array.prototype.slice.call(article_elements);
return articleElementArray.map(item => {
const a_element = item.querySelector( .title );
return {
href: a_element.getAttribute( href ),
title: a_element.innerHTML.trim(),
};
});
});
const articlePage = await browser.newPage();
articlePage.setViewport(viewport_size);
articlePage.goto(`${BASE_URL}${article.href}`, {
waitUntil: networkidle2
});
articlePage.waitForSelector( .post );
console.log( 文章详情页面加载完成 );
}
await articlePage.$eval( body , body => {
body.querySelector( .navbar ).style.display = none ;
body.querySelector( #note-fixed-ad-container ).style.display = none ;
body.querySelector( .note-bottom ).style.display = none ;
body.querySelector( .side-tool ).style.display = none ;
// body.querySelector( .author ).style.display = none ;
body.querySelector( .meta-bottom ).style.display = none ;
body.querySelector( #web-note-ad-1 ).style.display = none ;
body.querySelector( #comment-list ).style.display = none ;
body.querySelector( .follow-detail ).style.display = none ;
body.querySelector( .show-foot ).style.display = none ;
Promise.resolve();
});
await page.emulateMedia( screen );
await articlePage.pdf({
path: fileFullPath,
format: A4
});
4 结 果 结 论
headless: true,
});
朋友会在“发现-看一看”看到你“在看”的内容