Puppeteer记录操作过程及优秀的开源插件(五)

news/2024/7/19 12:42:13 标签: 自动化, 爬虫, node.js, javascript

Puppeteer记录操作过程及优秀的开源插件(五)

在这里插入图片描述

在这里插入图片描述

    • Puppeteer记录操作过程及优秀的开源插件(五)
        • 一、简介
        • 二、自动生成测试代码
        • 三、优秀的开源插件
        • 四、参考案例

一、简介

本节我们将介绍通过浏览器工具记录用户的实际操作,并且进行生成相应的 nodeJS 代码,然后能够进行对过程的重放。避免所有的脚本都需要用户进行编写,从而减轻代码编写的过程,而且增加代码的稳定性。
接下来还会介绍一些常用的已经实现的比较优秀的插件库的列表集,可以根据自己的需求快速的使用到自己的项目中。

二、自动生成测试代码

自动生成代码的过程是使用谷歌浏览器自带的功能 Recorder功能 进行记录,我们只需要进行操作UI界面即可以自动记录操作过程,不再需要我们编写代码了,并且能够按照我们的需要切换对应的语言。

首先我们通过检查页面打开开发者工具,然后选择工具栏上面的 Recorder 选项。
在这里插入图片描述

如果之前没有做过记录,则会显示空白页面,如果之前有做过记录,则会显示之前的操作记录列表,则会如上图显示,我们能够进行针对具体的项目重放或者删除编辑。

在这里插入图片描述

开始点击 Create a new recording 按钮进行开始

在这里插入图片描述
如上,会要求我们填写一些必要的信息,比如记录的名称和选择器属性,还有选择器的类型。这里可以根据自己的偏好进行设置。

最后点击最底部的 Start recording 的按钮开始记录。此时我们开始操作浏览器页面,我们就能够看有对应的记录。

在这里插入图片描述

最后结束记录,会生成最终的记录结果。

在这里插入图片描述

同时界面中能够看到 性能分析面板Replay 重放面板。也能够看到 Show code 按钮,用于展示生成的代码

在这里插入图片描述
在代码显示的下拉框中,我们能够看到总共有四种语言可以生成,我们选择我们熟悉的Puppeteer。
这样,我们复制生成的代码在node环境中运行就能达到和我们刚才操作一样的效果了。

三、优秀的开源插件

如此优秀的框架,必然会有很多社区支持的功能,我们在这里能够看到有人在github做了总结,在这里总结了一下,有兴趣的同学可以去看看

在这里插入图片描述

https://github.com/transitive-bullshit/awesome-puppeteer/blob/master/readme.zh.md

四、参考案例
  • 该案例基本实现了上传下载的自动化,能学到的东西较多。
    https://zhuanlan.zhihu.com/p/627805163

  • Puppeteer 不重启如何更换代理 IP
    Puppeteer 不重启如何更换代理 IP

  • 优秀插件
    https://github.com/transitive-bullshit/awesome-puppeteer/blob/master/readme.zh.md

  • 详细介绍
    https://blog.csdn.net/ZangKang1/article/details/132092578

在这里插入图片描述



http://www.niftyadmin.cn/n/5091475.html

相关文章

Python爬虫selenium安装谷歌驱动解决办法

驱动下载链接:CNPM Binaries Mirror (npmmirror.com) 谷歌浏览器老版本下载:Google Chrome 64bit Windows版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒 (chromedownloads.net) 驱动下载后解压缩直接放入python相应文件夹: 最后&a…

基于阿里巴巴dropshipping应用程序的Shopify税收

我去年 11 月开始了一个基于阿里巴巴应用程序的 Shopify Dropshipping 商店。 我的问题涉及在欧盟的私人客户-而不是注册的公司的这项业务的税收。另请注意,我知道美国,欧盟,加拿大的销售门槛,因此,请考虑低于这些销售…

Spring Data Envers 支持有条件变动纪录的保存和查询

数据审计是业务系统的一个基本能力,需要系统能够将关键数据的变动纪录都保存下来,并支持变动纪录的查询。 通过spring-data-envers可以很容易的实现数据变动纪录的保存和查询。 有些情况下,我们需要只保存满足特定条件的数据变动纪录&#…

Python 机器学习入门之K近邻算法

系列文章目录 第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 第二章 Python 机器学习入门之逻辑回归 番外 Python 机器学习入门之K近邻算法 K近邻算法 系列文章目录前言一、K近邻算法简介1、定义2、用途 …

Fetch与Axios数据请求

什么是Polyfill? Polyfill是一个js库,主要抚平不同浏览器之间对js实现的差异。比如,html5的storage(session,local), 不同浏览器,不同版本,有些支持,有些不支持。Polyfill(Polyfill有很多,在Gi…

Python Opencv实践 - 车辆统计(1)读取视频,移除背景,做预处理

示例中的图像的腐蚀、膨胀和闭运算等需要根据具体视频进行实验得到最佳效果。代码仅供参考。 import cv2 as cv import numpy as np#读取视频文件 video cv.VideoCapture("../../SampleVideos/Traffic.mp4") FPS 10 DELAY int(1000 / FPS) kernel cv.getStructu…

不想改bug?程序员必须学会使用的报错函数assert!(断言函数详解)

🦄个人主页:修修修也 🎏所属专栏:程序调试及报错解决 ⚙️操作环境:Visual Studio 2022 目录 一.assert()函数简介 1.函数功能 2.函数参数 🎏int expression 3.函数返回值 4.函数头文件 二.assert()函数的用法总结及注意事项 1.使用a…

Linux:进程调度的O(1)算法

文章目录 并发的理解程序运行时的数据进程切换的过程 内核的调度队列和调度原理 并发的理解 前面总结到了,关于并发的概念,并发针对的是单核的CPU上同时运行很多情况,并不是某个程序在CPU上运行就一直运行,而是根据一定的时间片和…