前言
Puppeteer是一个非常火爆的无头浏览器并在最近得到非常多的star。主要功能是使用安装的Chromium启动一个浏览器来模拟用户操作,但是这个浏览器可以说是一次性的无法缓存信息,很多时候我们希望Puppeteer可以复用本地已启动的浏览器。在查找多篇文章后总结出正确的使用方法:
使用
1.为了保证顺利链接我们需要设置Chrome浏览器的启动端口
右键快捷方式设置目标中的内容:在最后空格后添加 --remote-debugging-port=9222
2.编写程序配置puppeteer配置
代码语言:javascript复制const axios = require('axios');
const puppeteer=require('puppeteer');
(async()=>{
let wsKey = await axios.get('http://localhost:9222/json/version');
let browser=await puppeteer.connect({
browserWSEndpoint: wsKey.data.webSocketDebuggerUrl,
defaultViewport:null
});
let page=await browser.newPage()
await page.goto('https://blogweb.cn');
// await page.close()
// await browser.disconnect()
})()
讲解
使用axios获取对应链接(http://localhost:9222/json/version)的通信配置传入puppeteer配置(链接中的端口号需要和Chrome目标路径中的端口号对应)
后面就是基本的创建页面页面滚动以及页面跳转的配置了
总结
- 修改Chrome固定端口号
- 在配置browser配置前请求对应的连接获取webSocket配置
- 将webSocket的key放入对应的配置中