第三:Automa插件-使用说明

一.Automa弹窗和元素选择器

在这里插入图片描述

1.元素选择器使用介绍

在这里插入图片描述
在这里插入图片描述

二.定位列表

1.点击元素定位器上的定位列表按钮,即可定位列表

在这里插入图片描述
在这里插入图片描述

2.css选择器的不同定位方式
2.1.CSS列表示在CSS版本的属性定义(CSS1CSS2或对CSS3
选择器示例示例说明CSS
.class.intro选择所有class="intro"的元素1
#id#firstname选择所有id="firstname"的元素1
**选择所有元素2
elementp选择所有

元素

1
element,elementdiv,p选择所有
元素和

元素

1
element elementdiv p选择
元素内的所有

元素

1
element>elementdiv>p选择所有父级是
元素的

元素

2
element+elementdiv+p选择所有紧跟在
元素之后的第一个

元素

2
[attribute][target]选择所有带有target属性元素2
[attribute=value][target=-blank]选择所有使用target="-blank"的元素2
[attribute~=value][title~=flower]选择标题属性包含单词"flower"的所有元素2
[attribute=language][lang=en]
:linka:link选择所有未访问链接1
:visiteda:visited选择所有访问过的链接1
:activea:active选择活动链接1
:hovera:hover选择鼠标在链接上面时1
:focusinput:focus选择具有焦点的输入元素2
:first-letterp:first-letter选择每一个

元素的第一个字母

1
:first-linep:first-line选择每一个

元素的第一行

1
:first-childp:first-child指定只有当

元素是其父级的第一个子级的样式

2
:beforep:before在每个

元素之前插入内容

2
:afterp:after在每个

元素之后插入内容

2
:lang(language)p:lang(it)选择一个lang属性的起始值="it"的所有

元素

2
element1~element2p~ul选择p元素之后的每一个ul元素3
[attribute^=value]a[src^=“https”]选择每一个src属性的值以"https"开头的元素3
[attribute$=value]a[src$=“.pdf”]选择每一个src属性的值以".pdf"结尾的元素3
[attribute*=value]a[src*=“runoob”]选择每一个src属性的值包含子字符串"runoob"的元素3
:first-of-typep:first-of-type选择每个p元素是其父级的第一个p元素3
:last-of-typep:last-of-type选择每个p元素是其父级的最后一个p元素3
:only-of-typep:only-of-type选择每个p元素是其父级的唯一p元素3
:only-childp:only-child选择每个p元素是其父级的唯一子元素3
:nth-child(n)p:nth-child(2)选择每个p元素是其父级的第二个子元素3
:nth-last-child(n)p:nth-last-child(2)选择每个p元素的是其父级的第二个子元素,从最后一个子项计数3
:nth-of-type(n)p:nth-of-type(2)选择每个p元素是其父级的第二个p元素3
:nth-last-of-type(n)p:nth-last-of-type(2)选择每个p元素的是其父级的第二个p元素,从最后一个子项计数3
:last-childp:last-child选择每个p元素是其父级的最后一个子级。3
:root:root选择文档的根元素3
:emptyp:empty选择每个没有任何子级的p元素(包括文本节点)3
:target#news:target选择当前活动的#news元素(包含该锚名称的点击的URL)3
:enabledinput:enabled选择每一个已启用的输入元素3
:disabledinput:disabled选择每一个禁用的输入元素3
:checkedinput:checked选择每个选中的输入元素3
:not(selector):not§选择每个并非p元素的元素3
::selection::selection匹配元素中被用户选中或处于高亮状态的部分3
:out-of-range:out-of-range匹配值在指定区间之外的input元素3
:in-range:in-range匹配值在指定区间之内的input元素3
:read-write:read-write用于匹配可读及可写的元素3
:read-only:read-only用于匹配设置 “readonly”(只读) 属性的元素3
:optional:optional用于匹配可选的输入元素3
:required:required用于匹配设置了 “required” 属性的元素3
:valid:valid用于匹配输入值为合法的元素3
:invalid:invalid用于匹配输入值为非法的元素3

三.Automa工作台

在这里插入图片描述

1.工作流:创建编辑工作流的工作台
1.1.直接新建
1.1.1.点击进件工作流按钮,创建空白工作流

在这里插入图片描述

1.2.导入

在这里插入图片描述

1.3.录制工作流
1.3.1.点击录制工作流,然后在浏览器上进行操作,Automa会记录操作步骤
1.3.2.录制完成后点击红色按钮停止录制,便会生成一个录制完成的工作流

1.3.3.录制出来的工作流并不能直接投入使用,需要通过手动调整细节之后才能正常运行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PS:通过录制功能创建的工作流往往不能直接使用,会有脚本运行过快、元素定位不准的问题
因此录制功能往往只能帮制定工作流框架,在录制完成后,需要通过调试工作流中的功能块,得到真正有用的工作流
2.定时任务:可以设置已有的工作流进行定时自动运行任务
2.1.制定任务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.编辑和删除任务
2.2.1.点击定时任务进入工作流详情页,点击编辑触发器,就可以编辑定时任务设置

2.2.2.若要删除对应定时任务,在编辑触发器弹窗中删除所有除法条件,删完之后点击保存,即可删除定时任务

在这里插入图片描述

3.运行日志:可以查看各个工作流的运行情况,以及运行后存储的数据的具体内容
3.1.工作流运行信息

在这里插入图片描述

3.2.表格数据存储展示

在这里插入图片描述

3.3.已有自定义变量展示

在这里插入图片描述

4.设置
4.1.Automa语言修改成中文:设置-常规-语言,选中简体中文,然后重新打开工作台

在这里插入图片描述

四.Automa工作视图

在这里插入图片描述

1.表格:存储数据的表格,一般将工作流运行过程中获取到的数据存在表格中,可以定义表格的字段与字段属性
1.1.列的添加与编辑:点击工作视图右上角的表格按钮可以编辑表格的列的数量和属性

在这里插入图片描述

1.2.表格数据的添加

1.2.1.获取数据功能块和属性值功能块的编辑页面有“插入表格”复选框
1.2.2.可以向表格内加入数据,数据会加入到表格该列的最后一行

在这里插入图片描述
在这里插入图片描述

1.3.表格数据的引用

获取第1行、列为name的值。语法:{{ table.0.name }}
获取第2行、列为name的值。语法:{{ table.1.name }}
获取最后一行、列为name的值。语法:{{ table.$last.name }}
2.变量
2.1.直接定义自定义变量
2.1.1.使用插入数据功能块定义自定义变量,变量名可以为中文或者英文

2.1.2.变量值可以为字符串、数字和json格式数据,定义完成之后后续的功能块便可以使用此处定义的自定义变量

在这里插入图片描述
在这里插入图片描述

2.2.通过从浏览器中获取数据,赋值给自定义变量

在这里插入图片描述

2.3.全局变量:全局变量的定义遵循json格式

在这里插入图片描述

3.变量的引用方式
3.1.各种不同类型变量的引用

3.1.1.引用方式:{{关键字.变量名}}

在这里插入图片描述

3.2.各种格式的值的引用方式

3.2.1.举例:引用全局变量的各种值
{
  "firstname": "Amina",
  "lastname": "Ferry",
  "phone": 2347613906692,
  "gender": "female",
  "hobbies": ["cooking", "hiking", "camping"],
  "address": {
    "street": "540 Harris Track Suite 904",
    "streetName": "Edd Alley",
    "buildingNumber": "1135",
    "city": "North Kayleigh",
    "zipcode": "75882-2791",
    "country": "Guadeloupe"
  }
}
a.获取字符串属性的值firstName
语法:{{ globalData.firstName }}{{ globalData@firstName }}输出:Amina

b.获取数字属性的值phone
语法:{{ globalData.phone }}{{ globalData@phone }}输出:2347613906692

c.获取对象address属性的值street
语法:{{ globalData.adress.street }}{{ globalData@adress.street }}输出:540 Harris Track Suite 904

d.获取数组hobbies的整个列表
语法:{{ globalData.hobbies }}{{ globalData@hobbies }}输出:["cooking", "hiking", "camping"]

e.获取数组hobbies的第一个索引值
语法:{{ globalData.hobbies.0 }}{{ globalData@hobbies.0 }}输出:cooking

f.获取数组hobbies的第二个索引值
语法:{{ globalData.hobbies.1 }}{{ globalData@hobbies.1 }}输出:hiking
g.如果需要引用别的来源的值,只需要将全局变量关键字globalData替换成别的来源的关键字便可
4.Automa自带函数变量
4.1.Automa自带内置函数,可以通过调用内置函数来获取对应的信息变量

4.2.函数名称始终以美元符号 ($) 开头,调用方法:{{$func()}}
4.3.日期
// 获取当前时间
$date("DD MMMM YYYY") // 14 January 2022
$date("DD-MM-YYYY, hh:mm A")  // 14-01-2022, 02:24 PM
$date("relative") // A few seconds ago
$date("timestamp") // 1651118110948

// 时间格式转化
$date("2005-06-07", "DD MMMM YYYY") // 07 June 2005
$date("1977-04-01T14:00:30", "DD-MM-YYYY, hh:mm A")  // 01-04-1977, 02:00 PM
$date("14 January 2021", "relative") // A year ago
$date("14 January 2021", "timestamp") // 1610553600000
4.4.随机数
// 随机数
$randint() // 30
$randint() // 14
  
// 带范围的随机数
$randint(0, 10) // 4
$randint(0, 10) // 7
4.5.生成随机数据
4.5.1.传递适当参数就可以生成一个随机字符串

4.5.2.例如,$randData("?l")将生成一个随机的小写字母,如a
4.5.3.支持的表达式
?l: 小写
● ?u:大写
● ?d: 数字
● ?f: 大写 + 小写
● ?s: 象征
● ?m:大写字母+数字
● ?n:小写字母 + 数字
● ?a: 任何
$randData("?d?d") // 89

$randData("?l?l?l?d?d@gmail.com") // wal29@gmail.com

$randData("?d?u?s?l?l?s?a?m") // 4C%ee^MF9
4.6.获取字符串或数组长度
// 获取字符串的长度
$getLength("testing") // 7

// 获取全局变量中数组hobbies的长度
$getLength([globalData.hobbies]) // 3
4.7.乘法运算
// 两个数字相乘
$multiply(5, 2) // 10

// 带自定义变量的乘法
// 定义 variables.num = 5
$multiply([variables.num], 0.3) //1.5
4.8.除法运算
$divide(22, 7) // 3.142857142857143
  
// 定义 variables.num = 5
$divide([variables.num], 0.3) // 16.666666666666668
4.9.加法运算
$increment(10, 2) // 12
  
// 定义 variables.num = 5
$increment([variables.num], 0.3) // 5.3
4.10.减法运算
$subtract(80, 7) // 73
  
// 定义 variables.num = 5
$subtract([variables.num], 0.3) // 4.7
4.11.除法的余数
$modulo(13, 5) // 3

$modulo(-13, 5) // -3

$modulo(4, 2) // 0

$modulo(-4, 2) // -0
  
// 定义 variables.num = 5
$modulo([variables.num], 2) // 1 
4.12.字符串替换
$replace("hello world!", "world", "everyone") // hello everyone!
  
// 定义 variables.firstname = "Amina"
{{$replace("hello world!", "world", [variables.firstname])}} // hello Amina!
4.13.字母大写转化成小写
$toLowerCase("HELLO WORLD!") // hello world!

$toLowerCase("hELLO wORLD!") // hello world!
  
// 定义 variables.firstname = "Amina"
$toLowerCase([variables.firstname]) // amina
4.14.字母小写转化成大写
$toUpperCase("hello world!") // HELLO WORLD!

$toUpperCase("hELLO wORLD!") // HELLO WORLD!

// 定义 variables.firstname = "Amina"
$toUpperCase([variables.firstname]) // AMINA
5.条件(if)
5.1.Automa内的条件功能相当于代码中的if条件,通过条件功能块实现

在这里插入图片描述

5.2.判断方式:从上到下依次对每个条件路径进行判断,如果与条件匹配,工作流将继续到与条件输出连接的块
5.2.1.如果没有匹配,工作流程将继续到与后备输出连接的块

5.3.条件路径的编辑:每个条件路径可以由多个判断组合而成,每个判断之间又由AND或者OR判断链接

在这里插入图片描述

6.循环
6.1.循环数据:循环数据功能块能定义各种列表数据,并在循环中进行使用
6.2.循环表格:在循环数据功能块中选择表格

在这里插入图片描述

从索引开始:第一个遍历的下标
要循环的最大数据:0表示循环全部数据,其他数据表示从第一个下标开始往后遍历n个下标

举例:
从索引开始:5
要循环的最大数据:0
遍历的下标:[04]
引用方法:
a.获取遍历到该行的全部信息。语法:{{loopData.循环标识}}输出:{"字段1":"值1","字段2":"值2",……}

b.获取遍历到该行的某个字段的信息。语法:{{loopData.循环标识.字段名称}}输出:"字段值"
7.循环数字:在循环数据功能块中选择数字

在这里插入图片描述

引用方法:

获取遍历到数字。语法:{{loopData.循环标识}}输出:数字
8.循环变量:在循环数据功能块中选择变量

在这里插入图片描述

8.1.循环的变量一定要是列表类型的数据,否则会报错

在这里插入图片描述

引用方法:

a.获取遍历的全部信息。语法:{{loopData.循环标识}}输出:遍历到的完整数据

b.若遍历到数据是个字典,获取遍历到字典的某个字段的信息。语法:{{loopData.循环标识.字段名称}}输出:"字段值"
9.循环自定义数据:在循环数据功能块中选择自定义数据

在这里插入图片描述

9.1.在插入数据中进行循环数据的定义,数据类型必须为列表,可导入类型为excel的文件

在这里插入图片描述

引用方法:

a.获取遍历的全部信息。语法:{{loopData.循环标识}}输出:遍历到的完整数据

b.若遍历到数据是个字典,获取遍历到字典的某个字段的信息。语法:{{loopData.循环标识.字段名称}}输出:"字段值"
10.循环元素
循环元素功能块能遍历列表中每个元素的路径信息
能在定位到一个列表时就能循环列表中的每个节点
并且获取每个节点的具体CSS路径,在循环中使用
10.1.获取列表的CSS位置,填入循环元素的元素选择器输入框中

在这里插入图片描述
在这里插入图片描述

10.2.定位列表中每个节点中需要操作的元素的位置,将元素前半部分的列表部分替换成循环数据

在这里插入图片描述

10.2.1.在操作功能块中输入替换后的CSS定位信息
引用方法:

语法:{{loopData.循环标识}}输出:遍历到的节点的CSS定位信息
//列表位置
.container-bg_lQ801 > div:nth-child(2) > div
//元素位置
.container-bg_lQ801 > div:nth-child(2) > div div.c-single-text-ellipsis
//替换后的元素CSS定位信息
{{loopData.0ZgbC0}} div.c-single-text-ellipsis
10.2.2.最后设置循环断点

在这里插入图片描述

11.自动对齐

11.1.点击自动对齐在这里插入图片描述,可以吧凌乱的功能块排成一排

在这里插入图片描述
在这里插入图片描述

### Automa 插件使用教程 #### 安装与配置 Automa 是一款专为 Chrome 和 Firefox 设计的浏览器自动化插件,支持多种任务自动化处理,如自动填充表单、执行重复性操作以及网页数据抓取等[^1]。 为了开始使用 Automa,需先完成其下载和安装过程。确保访问官方或可信渠道获取最新版本的插件文件并按照提示逐步完成安装步骤[^3]。 #### 创建第一个工作流 一旦成功安装了 Automa 并启动浏览器扩展程序后,即可着手创建首个工作流。进入 Automa 面板界面,在这里可以直观地构建所需的任务逻辑结构。对于初学者来说,建议尝试一些基础功能,比如模拟鼠标点击或是输入特定文本内容。 #### 运行已定义的工作流 当完成了工作流的设计之后,可以通过两种主要方式来触发它们: - **通过面板运行**:保持 Automa 处于激活状态,定位至想要执行的工作流项旁侧的小喇叭图标——即代表“播放”的标志,轻触此按钮便能立即启动选定序列;值得注意的是,在整个过程中应维持 Automa 的可见性和活动性以防中途停止。 - **利用快捷键控制**:如果偏好更便捷的方式,则可设定自定义热键组合以便快速调用指定脚本[^2]。 #### 实战技巧分享 针对某些复杂场景下的应用挑战,例如面对动态加载页面中的元素遍历难题时,借助 JavaScript 脚本来辅助解决问题不失为一种有效策略。下面给出了一段用于统计某类 HTML 元素总数目的代码片段作为例子说明: ```javascript // 获取具有 .file-list-item 类名的所有 DOM 对象数目 const dir_cn = document.querySelectorAll('.file-list-item').length; automaSetVariable('dir_cn', dir_cn); ``` 这段简短的 JS 语句实现了对目标区域内项目列表长度的计算,并将其存储在一个名为 `dir_cn` 的全局变量里供后续环节引用[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢卡平头哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值