puppeteer
(1)主要用了爬取数据和测试网站性能
(2)异步配置
安装
cnpm install puppeteer -D
async function test(){
打开浏览器的配置
let options={
//使用无头模式,默认为有头(true为无界面模式)
headless:false,
//设置打开页面在浏览器中的宽高
defaultViewport:{
width:1000,
height:800
}
}
返回浏览器实例
let browser=await puppeteer.launch(options)
创建新页面,并返回页面对象
let page=await browser.newPage();
进入指定页面
await page.goto('url路径');
若要截取指定浏览器图片,图片会被放在当前路径下
await page.screenshot({path: 'screenshot.png'});
获取页面内容
page.$eval("选择器",回调函数(dom对象)); 获取单个
page.$$eval("选择器",回调函数(dom对象)); 获取数组
事件监听
page.on('console',function(...args){
console.log(args);
})
}
コード例:
async function test(){
let options={
//使用无头模式,默认为有头(true为无界面模式)
headless:false,
//设置打开页面在浏览器中的宽高
defaultViewport:{
width:1000,
height:800
}
}
//返回浏览器实例
let browser=await puppeteer.launch(options)
//创建新页面,并返回页面对象
let page=await browser.newPage();
//进入指定页面
await page.goto('https://www.dytt8.net/');
//若要截取指定浏览器图片,图片会被放在当前路径下
// await page.screenshot({path: 'screenshot.png'});
//获取页面内容
page.$$eval("#menu li a",(elements)=>{
elements.forEach(function(item,index){
console.log(item.innerHTML);
})
})
page.on('console',function(...args){
console.log(args);
})
}