首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏一只想做全栈的猫

    Puppeteer 初探

    木偶 Puppeteer 更友好的 Headless Chrome Node API 木偶也是有心的 (=・ω・=) Puppeteer是什么? 你可以通过Puppeteer的提供的api直接控制Chrome模拟大部分用户操作来进行UI Test或者作为爬虫访问页面来收集数据。 为什么会产生Puppeteer呢? 入门 安装Puppeteer npm install puppeteer 或者 yarn add puppeteer Puppeteer至少需要Node v6.4.0,但如果想要使用async / await 默认的页面大小为800x600分辨率,页面的大小可以通过Page.setViewport()来更改 实例二 创建一个PDF const puppeteer = require('puppeteer') = require('puppeteer'); async function getDimension(url) { const browser = await puppeteer.launch

    3.3K20编辑于 2022-06-15
  • 来自专栏后端开发随笔

    Puppeteer介绍

    Puppeteer是什么 Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome。 第二种:执行npm i puppeteer-core安装,这种方式仅仅只会安装Puppeteer自己,默认不会下载Chromium(自1.7.0版本以后会发布一个puppeteer-core包)。 // 采用`npm i puppeteer`安装时,可以加载`puppeteer`模块 // const puppeteer = require('puppeteer'); // 采用`npm i puppeteer-core`安装时,可以加载`puppeteer-core`模块 const puppeteer = require('puppeteer-core'); (async () => { // puppeteer默认打开的浏览器为无头模式 // const browser = await puppeteer.launch(); // 通过参数明确指定puppeteer

    2K20编辑于 2023-04-01
  • 来自专栏生如夏花绚烂

    linux安装puppeteer

    在安装puppeteer过程中遇到一些错误,记录一下 首先可能遇到node install.js错误,可以使用一下命令参数安装puppeteer npm i --save puppeteer --ignore-scripts 或者先执行一下命令再安装puppeteer npm config set unsafe-perm true npm i puppeteer 其次可能会遇到各种库没有安装的错误,比如libX11-xcb.so ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget 还有sandbox 问题,可以尝试在无沙箱模式下运行puppeteer const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']}); npm config

    1.4K00编辑于 2022-09-14
  • 来自专栏技术综合

    puppeteer上传图片

    代码 const puppeteer = require('puppeteer') const path = require('path') puppeteer.launch({ headless: test.png 参考资料 https://zhaoqize.github.io/puppeteer-api-zh_CN/#? product=Puppeteer&version=v2.0.0&show=api-elementhandleuploadfilefilepaths https://zhaoqize.github.io /puppeteer-api-zh_CN/#? product=Puppeteer&version=v2.0.0&show=api-pagewaitforselectorselector-options https://zhuanlan.zhihu.com

    5K20发布于 2020-08-25
  • 来自专栏测试邦

    puppeteer recorder详解

    puppeteer recorder 是一款专门为puppeteer提供的插件,用来进行录制” 01—官网插件描述 Chrome extension for recording browser interaction and generating Puppeteer scripts Puppeteer recorder is a Chrome extension that records your browser interactions and generates a Puppeteer script. 3.录制的脚本如下 const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch 执行同样的步骤看下生成的代码 生成代码如下: const puppeteer = require('puppeteer'); const browser = await puppeteer.launch

    3.5K40发布于 2019-07-24
  • 来自专栏sofu456

    puppeteer使用基础

    puppeteer https://pptr.dev/ 启动浏览器 const browser = await puppeteer.launch({ headless: true

    34020编辑于 2023-07-22
  • 来自专栏MudOnTire

    Puppeteer 入门指引

    Puppeteer 的作用 理论上我们在 Chrome 里能做的事情,通过 puppeteer 都能够做到。 安装 Puppeteer npm i puppeteer 或 yarn add puppeteer 安装 puppeteer 的过程中会下载最新版本的 Chromiun (~170MB Mac, ~282MB 我们也可以跳过 Chromium 的下载,或者下载其他版本的 Chromium 到特定路径,这些都可以通过环境变量进行配置 puppeteer-core puppeteer-core 是 puppeteer npm i puppeteer-core 或 yarn add puppeteer-core 使用 puppeteer-core 需要确保它的版本和连接的 Chrome 版本可以兼容。 puppeteer-core 会忽略所有的 PUPPETEER\_* 环境变量 关于 puppeteerpuppeteer-core 的详细对比请参考:puppeteer vs puppeteer-core

    2.3K50编辑于 2022-03-22
  • 来自专栏2014前端笔记

    利用docker部署puppeteer

    记录一下这次用docker遇到的一些问题 先提供一个我用的包含puppeteer的docker镜像 puppeteer可以使用Network.emulateNetworkConditions和Emulation.setCPUThrottlingRate 在这里,我主要是利用puppeteer执行一段脚本,然后再从docker容器中,向宿主机post结果回去。 = require('puppeteer'); const fs = require('fs'); (async () => { const browser = await puppeteer.launch 网站性能测试利器:Puppeteer trace.json如何使用 trace.json另一个issue 关于docker stackoverflow名称切换 案例 官方更新历史 官方名称更换历史 = require('puppeteer'); const start = async () => { const browser = await puppeteer.launch({

    3.6K30发布于 2019-11-20
  • 来自专栏测试邦

    自动化测试 puppeteer API详解(一):puppeteer模块API

    在环境搭建章节介绍了如何使用puppeteer模块来启动Chromium实例,本篇开始puppeteer的API详细学习计划 本文将主要介绍: puppeteer模块API ▷1◁ ? 请看实例: //初始化puppeteer变量 const puppeteer = require('puppeteer'); //调用puppeteer模块的launch方法 //luanch的options 具体使用情况请看实例: const puppeteer = require('puppeteer'); puppeteer.launch({ executablePath: 'D:\\node_modules 默认是 <root>/.local-chromium, <root> 是 puppeteer 的包根目录。 使用实例: const puppeteer = require('puppeteer'); const BrowserFetcher = puppeteer.createBrowserFetcher(

    4.4K30发布于 2019-07-24
  • 来自专栏胡琦

    deno牌puppeteer,真香!

    Deno 牌 Puppeteer,真香! 又双叒叕一堆 deno 的插件开源了,这次他们将目光转向了 puppeteer,deno-puppeteerpuppeteer_deno、deno-puppeteer-adapter…… 基本都是最近一个月诞生的 puppetter-deno 从截图说起 deno puppetter puppeteer是一个Node库,它提供了高级API来通过DevTools协议控制Chrome或Chromium,puppeteer puppeteer常常被用来生成页面的屏幕截图和PDF、实现SSR、自动化测试等等,在业界也有不少企业级的运用,比如有赞商城前端团队使用puppeteer搭建统一海报渲染服务,TCB 的云函数也支持 puppeteer 在Mac上,一小段代码就实现了截取掘金首屏: // mod.ts // 引入 puppeteer import puppeteer from 'https://deno.land/x/pptr/mod.ts

    1.4K30发布于 2021-09-09
  • 来自专栏杰的记事本

    Puppeteer已经取代PhantomJs

    记得前几年,我们通常会用PhantomJs做一下自动化测试,或者为了SEO优化,会用它对SPA页面进行预渲染,现在有更好的Puppeteer来代替它的工作了,性能更好,使用起来也更加方便,Puppeteer const puppeteer = require('puppeteer'); let request = require('request-promise-native'); //使用 puppeteer.launch puppeteer.launch 启动时参数可以动态修改 通过 puppeteer.connect 我们可以远程连接一个 Chrome 实例,部署在不同的机器上 puppeteer.connect 多个页面共用一个 时我们几乎一定会遇到在这两个环境之间交换数据:运行 Puppeteer 的 Node.js 环境和 Puppeteer 操作的页面 Page DOM,理解这两个环境很重要 首先 Puppeteer 提供了很多有用的函数去 实现不同设备的模拟 const puppeteer = require('puppeteer'); const iPhone = puppeteer.devices['iPhone 6']; puppeteer.launch

    7.1K10发布于 2020-04-10
  • 来自专栏vivo互联网技术

    Puppeteer 入门与实战

    依据这个思路,我们就想到使用Puppeteer,在介绍Puppeteer之前我们先将这段简单的捕获moji表情的代码放出来。 const puppeteer = require('puppeteer') const request = require('request') const fs = require('fs') async 三、Puppeteer Puppeteer可以做些什么呢?我们从文章开始的一个demo中可以发现,Puppeteer可以爬取页面数据。 1、初探 这是Puppeteer官方提供的一张API分层结构图 从图上我们可以发现,Puppeteer是通过使用Chrome DevTools Protocol(CDP)协议与浏览器进行通信,而Browser 首先,通过puppeteer.launch()创建一个Browser实例 const browser = await puppeteer.launch({ // --remote-debugging-port

    2.6K40发布于 2020-08-13
  • 来自专栏神光的编程秘籍

    手写 Puppeteer:自动下载 Chromium

    Puppeteer 是一个网页的自动化测试工具,它支持写一些 JS 脚本来控制浏览器执行一些行为,可以用来跑测试用例,或者用来做爬虫。 它的脚本类似这样: const puppeteer = require('puppeteer'); const fs = require('fs/promises'); (async () => { 跑起来是这样的: 其实跑这种脚本不需要看到界面,所以 puppeteer 默认是 headless 的,也就是无界面的。 接下来我们尝试自己实现一个简易版 puppeteer 来深入理解它。 这会是一个系列,叫做《手写 Puppeteer》,这是第一集。 为了深入理解它的实现原理,我们会从 0 实现一个 mini puppeteer

    2.2K10编辑于 2022-11-11
  • 来自专栏DevOps时代的专栏

    网站性能测试利器:Puppeteer

    在这篇文章中,我会利用Puppeteer进行网站自动化测试。 index.js const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch index.js const puppeteer = require('puppeteer'); const testPage = require('. index.js const puppeteer = require('puppeteer'); const testPage = require('. 不管你想要研究什么,我希望我已经帮助了你如何用Puppeteer获得结果。这个工具很容易安装。 只要输入npm install puppeteer

    5.8K130发布于 2018-04-08
  • 来自专栏Puppeteer学习

    使用puppeteer抓取受限网站

    安装Puppteer npm install --save puppeteer 选择目标网站 我们这里选择胡子大哈大神的网站 http://huziketang.mangojuice.top ; 爬取所有文章 javascript执行,然后移除对应的mask的dom节点 核心代码 const path = require('path'); const fs = require('mz/fs'); const puppeteer = require('puppeteer'); const pdfDir = path.resolve(__dirname, '. `); } //启动程序 const start = async () => { //创建一个browser 实例 let browser = await puppeteer.launch

    3.5K130发布于 2018-05-03
  • 来自专栏python进阶学习

    前端开发爬虫首选puppeteer

    图片这里会有一个问题吗,那就是前端程序员如果要开发爬虫是使用python还是使用puppeteer呢? 如果想快速开发爬虫,还是驱动浏览器的方式比较好,我推荐用puppeteer,纯js环境,上手快,puppeteer直接驱动无头浏览器速度并不算慢。 这里我们可以使用puppeteer简单的实现下爬虫,就以获取微博热搜为例子进行实践。 // 引入process和puppeteer模块const process = require("process");const puppeteer = require("puppeteer");// 相当于python selenium 控制无头Chrome,作为前端程序员,那python虽然语法容易但毕竟学的也比较多,所以建议可以试试puppeteer

    1.6K40编辑于 2023-03-13
  • 来自专栏云开发小记

    云开发无法使用Puppeteer

    FUNCTIONS_EXECUTE_FAIL" message: "The "original" argument must be of type function" requestId: "ea04fa07ef75d" 只要在云函数一引入Puppeteer

    2.2K30发布于 2020-04-20
  • 来自专栏掘金安东尼

    Puppeteer 爬虫框架入门

    这时,Puppeteer 就能派上用场了。它是一个 Node.js 库,可以用来操作 Chrome 浏览器。 Puppeteer 中文释义是提线木偶,意思我们可以很方便地通过操纵它来控制浏览器。 安装 Puppeteer 首先,我们需要安装 Puppeteer。 在终端中运行以下命令: npm install puppeteer 注:建议用最新版本的 Node 使用 Puppeteer 爬取网页 让我们来看一个简单的例子。 我们可以通过以下代码来实现: const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch 小结 使用 Puppeteer 可以非常方便地爬取网页并获取所需的数据。当然,我们还可以通过 Puppeteer 来模拟用户的行为,如点击、滚动等操作,从而更加灵活地获取所需的数据。

    1.1K00编辑于 2023-04-22
  • 来自专栏前端小馆

    使用 Puppeteer 实现文件下载

    目前比较火的是无头浏览器是 Google 的 Puppeteer,常用于自动化 UI 测试和截图。Puppeteer 的文档非常详细,可以参考 Puppeteer API。 所以需要一个能够运行 Puppeteer 的 Docker 镜像,虽然官方文档里面提供了在 Docker 里面运行的一些配置,但当初踩了很多坑。 4.1 登录 首先,我们来启动一个 Puppeteer 的浏览器 Browser。 所幸 Puppeteer 提供给了 waitForNavigation 这个 API。 总结 Puppeteer 是一个非常强大的库,在某些场景下会非常方便。等有时间的时候也可以去研究一下 Chrome DevTools 的原理。

    3.2K10编辑于 2022-05-09
  • 来自专栏Serverless+

    在 SCF 中运行 Puppeteer

    Puppeteer 是一个 Node.js 库, 提供了一组封装良好的接口, 使你可以通过 DevTools 协议控制 Chrome. 本文介绍如何在 SCF 中使用 Puppeteer. 一个截图的例子 我们使用官方仓库里的截图例子 const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://example.com') ) => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await 总结 本文介绍了如何解决在 SCF 中运行 Puppeteer 缺少动态链接库的问题.

    7.8K83发布于 2019-04-05
领券