前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Puppeteer连接已有Chrome浏览器

Puppeteer连接已有Chrome浏览器

作者头像
用户6256742
发布2022-07-06 14:31:05
5.2K2
发布2022-07-06 14:31:05
举报
文章被收录于专栏:网络日志网络日志

前言

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目标路径中的端口号对应)

后面就是基本的创建页面页面滚动以及页面跳转的配置了

总结

  1. 修改Chrome固定端口号
  2. 在配置browser配置前请求对应的连接获取webSocket配置
  3. 将webSocket的key放入对应的配置中
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档