这一次,Google 终于对 Web 自动化下手了!

Python编程与实战

共 1533字,需浏览 4分钟

 ·

2021-11-22 15:19


4c25beaa9702631d23b5ea17e49097be.webp


大家好,我是村长!

最近 Google 对 Chrome 进行了一次比较大的更新,其中一项是脚本录制回放功能,它可以非常方便我们处理一些自动化场景

我们可以在 Chrome 官网下载 Chrome Canary 的最新版本进行尝鲜

PS:Chrome 正式版本是 95,暂时还未集成

下载地址:

https://www.google.com/intl/zh-CN/chrome/canary/thank-you.html?statcb=1&installdataindex=empty&defaultbrowser=0

下面聊一下具体的使用步骤

1 - 录制

首先,打开 Chrome Canary 软件,F12 进入到 Devtools 开发者工具悬浮窗


选择右上角的更多工具 - Recorder,进入到「 自动化流程列表界面


26881d605930a9305efba044455e63c3.webp


点击「 Start new recording 」按钮,输入待录制流程的名称,就可以开始录制操作了


默认会以当前 Tab 页面生成一个初始 Step


比如,我是从百度首页创建的录制步骤,这里默认添加了一个初始 Step,url 指向当前 URL


7a4b9f10eae0c6bff7e7f54621ce6527.webp


在左侧浏览器中模拟一次搜索操作,即:在输入框中输入内容,并点击搜索按钮


在右侧的录制页面会同步记录下操作的流程步骤


PS:点击底部的 End recording 按钮后,我们可以对 url、asserted events 中断言内容进行更新


6424054232578eb5d8218d1a32fa78d7.webp


2 - 编辑

在完成录制操作后,我们可以针对某一个操作进行二次编辑,可以在前、后添加一个步骤,或者删除该步骤


比如,这里在「 点击输入框 」前添加了一个步骤,该步骤类型为等待元素出现,使用元素选择器选择目标元素


d64b5b35a728be1b91ca9960dbee1f04.webp


3 - 重放

录制、编辑完成之后,点击右上角的「 Replay 」按钮即可以回放,并且会在录制页面会展示回放步骤及结果


4167efe9f470f3c1edbb0a1ebc2c098b.webp

4 - 更多说明

在录制页面回放操作时,可以设置模拟网速,内置了 3 种方式,分别为:No throttling、Slow 3G、Fast 3G


其中,No throttling 为回放默认的网速设置


db4a577b7b3a09717592d613cbd811c0.webp

点击左上角的导出按钮可以将当前自动化步骤以 JS 文件的形式保存到本地


我们查看源码发现 Chrome Recorder 录制回放实际上基于「 puppeteer 」来实现的


const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();

    async function waitForSelectors(selectors, frame{
      for (const selector of selectors) {
        try {
          return await waitForSelector(selector, frame);
        } catch (err) {
          console.error(err);
        }
      }
      throw new Error('Could not find element for selectors: ' + JSON.stringify(selectors));
    }
...

相比直接使用 puppeteer 编码自动化脚本,Chrome Recorder 录制自动化流程更加方便快捷!


0cd96ce2038a72580831d6e61fe03d01.webp

E N D

104dfc456634fbc681a87ca5d054e0be.webp


bab1d1e280714ed2b3d2db2907f48c85.webp

使用 Django 快速开发图书管理系统


bc175812159fb536cf5a07a860ecfc2a.webp

Python 标准库中最有用的装饰器


浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报