Automa Javascript模块
在浏览器自动化任务中,有时候你需要执行一些自定义的 JavaScript 代码来完成特定的操作,比如修改网页内容、自动点击按钮、处理数据等。JavaScript模块 提供了一个强大的工具,让你可以在网页中执行任意的 JavaScript 代码,结合 Automa 的其他模块,实现复杂的自动化流程。我们来深入了解一下如何使用这个模块吧!
1. 超时设置
执行 JavaScript 代码时,可以通过设置 超时 来控制代码执行的最长时间。默认值是 20000 毫秒(20秒),如果代码在这个时间内没有执行完毕,工作流会继续执行下一个模块。你可以根据具体需求调整超时值,确保代码在预期时间内完成。
2. 每个新标签页都执行
当你需要在每次创建或切换标签页时执行 JavaScript 代码时,可以启用每个新标签页都执行选项。这样,你无需手动设置活动标签页,代码会自动在每个新打开的标签页中运行。不过要注意,启用此选项后,内置函数如 automaRefData
和 automaNextBlock
将不可用。
3. 执行上下文
JavaScript 的执行上下文决定了代码在哪些场景下运行。你可以在这个模块中写入自定义代码,并根据网页的上下文来控制代码执行,比如操作 DOM 元素、获取数据等。
4. 内置函数
JavaScript模块提供了一些强大的内置函数,帮助你与工作流中的数据进行交互:
4.1 automaNextBlock
这个函数用来控制工作流的执行,允许代码执行完毕后自动跳转到下一个模块。你还可以通过 data
参数将数据插入到表格中,或者通过 nextBlockId
指定下一个要执行的模块。
示例:
js
复制代码
automaNextBlock({ title: '完成', count: 100 });
或者插入多行数据:
js
复制代码
automaNextBlock([{ title: '任务1', count: 300 }, { title: '任务2', count: 200 }]);
4.2 automaSetVariable
使用 automaSetVariable
可以在工作流中设置变量的值,你可以在后续模块中使用这些变量来操作数据。
示例:
js复制代码automaSetVariable('userName', '张三');
automaSetVariable('prices', [100, 200, 300]);
4.3 automaRefData
通过 automaRefData
,你可以访问工作流中的各种数据,包括表格、循环数据、全局数据和变量。这个功能非常适合需要在代码中使用其他模块生成的数据的场景。
示例:
js复制代码// 获取表格中的第一行
const firstRow = automaRefData('table', '0');
// 获取变量中的值
const userName = automaRefData('variables', 'userName');
4.4 automaFetch
automaFetch
允许你在扩展背景中进行 HTTP 请求,而不会受到 CORS 限制。这使得你可以在代码中轻松获取外部 API 数据或者发送 POST 请求。
示例:
js复制代码automaFetch('json', { url: 'https://api.example.com/data' })
.then(result => console.log(result));
5. 预加载脚本
如果你在执行 JavaScript 代码之前需要加载某个外部 JavaScript 文件,可以使用预加载脚本功能。只需提供 JavaScript 文件的 URL,模块会在执行代码前先加载该文件。
JavaScript模块赋予了网页自动化操作极大的灵活性。通过编写自定义代码,你可以执行几乎任何操作,并结合内置的强大函数,与工作流中的数据进行深度交互。无论是自动化表单填写、获取数据,还是处理复杂的逻辑,这个模块都能够轻松胜任。如果你有特定的网页操作需求,需要高度的自定义控制,JavaScript模块绝对是你不容错过的利器!