const puppeteer = require('puppeteer');
(async () => {
// 启动浏览器
const browser = await puppeteer.launch({
headless: true, // 默认是无头模式,这里为了示范所以使用正常模式
args: ['--no-sandbox', '--disable-setuid-sandbox'],
})
// 控制浏览器打开新标签页面
const page = await browser.newPage()
// 在新标签中打开要爬取的网页
await page.goto('https://lininn.cn')
// 使用evaluate方法在浏览器中执行传入函数(完全的浏览器环境,所以函数内可以直接使用window、document等所有对象和方法)
let data = await page.evaluate(() => {
let list = document.documentElement.outerHTML
// let res = []
// for (let i = 0; i < list.length; i++) {
// res.push({
// name: list[i].getAttribute('data-positionname'),
// company: list[i].getAttribute('data-company'),
// salary: list[i].getAttribute('data-salary'),
// require: list[i].querySelector('.li_b_l').childNodes[4].textContent.replace(/ |\n/g, ''),
// })
// }
return list
})
await page.close();
await browser.close();
console.log(data)
})()
//设置宽
await page.setViewport({ width: 1000, height: 500 });await page.screenshot({ path: path.join(__dirname, 'screenshot.png'), });//模拟设备const iPhone = puppeteer.devices['iPhone XR'];//添加userAgent
http://www.wukai.me/2021/05/22/puppeteer-notes/await page.setViewport({ width: 1024, height: 1366 });await page.setUserAgent( 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1', );