运行 JavaScript action
- Updated: 2025/01/02
运行 JavaScript action
Browser package 中的运行 JavaScript action 执行网页上的 JavaScript 以及具有 iFrame 的网页上的 JavaScript。 此 action 还允许您在桌面版 Chromium Embedded Framework (CEF) 应用程序中运行 JavaScript 代码片段。
设置
注:
- 此 action 支持 Google Chrome 和基于 Chromium 的 Microsoft Edge 浏览器。
- 此 action 支持基于 CEF 的桌面应用程序。
- 当您使用此 action 执行包含单行注释作为最后一行的 JavaScript 时(例如,//注释),可能会导致 Automation Anywhere 插件变得不稳定。 我们建议您删除 JavaScript 末尾的注释,或者将其转换为多行注释(例如,/* 注释 */)。
- 从活动的支持浏览器标签页列表中选择浏览器标签页,或插入窗口变量。 要在 CEF 应用程序中运行 JavaScript 代码片段,请使用应用程序选项卡。 从应用程序选项卡中,选择应用程序列表中的特定 CEF 应用程序。 CEF 应用通过将 Chromium 嵌入桌面应用程序来实现网页浏览功能的集成。重要:
- 要自动化使用 CEF 框架的桌面应用程序,您必须在提升模式下开发和运行自动化程序。 请参阅 自动运行以管理员身份运行的应用程序。
- 要自动化 CEF 应用程序,请确保使用 3.13.1 及更高版本的浏览器 软件包。
注:- 不支持在 CEF 应用程序中自动执行跨域 iFrame。
- CEF 应用程序将不会显示在浏览器选项卡中。
您可以使用正则表达式 (regex) 来标识窗口标题。 将每个正则表达式条件选择为字符串或模式,然后输入值。 默认情况下,窗口标题字段区分大小写。
要识别浏览器标题,您可以启用区分大小写选项以匹配字母大小写,或禁用该选项以识别字母大小写不匹配的窗口标题。注: 确保您系统上安装的最低 Bot Agent 版本是随 Automation 360 v.26 发布的版本。 如果存在随 Automation 360 v.25 或更早版本发布的 Bot Agent 版本,则默认情况下,将仅通过匹配字母大小写(区分大小写)识别窗口标题。例如,要匹配所有以单词开头、后跟- Notepad
的窗口标题名称,您可以输入字符串值 * -Notepad,或者仅为与此模式匹配的窗口标题使用模式值 ((\w)\s)*document-Notepad。注:- 当您使用类型为字符串的正则表达式,并将 -title 作为任何 action 的窗口标题的输入值时,bot 可能会遇到运行时错误。 为了防止运行时错误,请确保在将字符串输入添加为 *-title 时,具有特定标题的应用程序已打开。 星号 (*) 只是一个字符,而不是通配符。
- 当您使用类型为 Pattern 的正则表达式,并将 -title 作为任何 action 的窗口标题的输入值时,bot 可能会遇到运行时错误,因为输入值 *-title 是不正确的。
请确保使用有效的正则表达式模式。
- 选择以下选项之一:
- 在导入现有文件选项中,选择一个现有 JavaScript 文件。注: 如果从桌面上的文件上传脚本,则文件和任何依赖项必须位于独立文件夹中。 当您选择待上传文件,上传所有同等级的文件和文件夹。
- 在手动输入选项中,输入 JavaScript。
- 在导入现有文件选项中,选择一个现有 JavaScript 文件。
-
可选: 使用捕获对象选项捕获 iFrame。注:
- 捕获对象功能仅用于在 iFrame 内部运行 JavaScript。
- 支持在 iFrame 中运行 JavaScript 仅适用于 Google Chrome 浏览器。
捕获 IFrame 时,默认选择以下对象属性:- 浏览器类型
- 技术类型
- 控件类型
- HTML 标签
- DOMXPath
- HTML HasFrame
- HTML FramePath
- FrameDOMXPath
- Path
- 角色
- HTML FrameSrc
-
可选: 在后超时字段中,输入 bot 必须等待浏览器操作完成的秒数。推荐: 输入至少 9 秒的超时值。
-
可选: 在将结果保存到变量字段中,选择变量以保留 action 输出。
Control Room 显示了描述性的默认变量名称。 如果创建多个输出变量,在随后的变量名称中将附加 -1、-2、-3,以此类推,以避免重复。注: 此 action 支持 String、Number 和 Boolean JavaScript 类型,这些类型对应于 bot 变量中的相同变量类型,或者对应于 bot 变量类型 Any。
推荐:
- 请勿将 Jquery 与 JavaScript package 一起使用。
- 使用来自 JavaScript 函数中的 Try/Catch actions 的 Error handler。
- 在声明之前调用 JavaScript 函数。
观看以下视频,了解如何使用 Browser package 中的运行 JavaScript action,以直接在现有浏览器窗口中执行 JavaScript:
基于对象的应用程序自动化
我们建议您使用Recorder进行基于对象的自动化,而不是运行JavaScript action。 如果您使用运行 JavaScript action 来自动化动态网页,并且控制层次结构或属性发生变化,那么您必须重新编写整个脚本。 仅使用运行 JavaScript action 来执行任何应用程序中的外部脚本。
如果您无法使用默认的 HTML 技术进行捕获,可以使用 Recorder 结合其他可用技术来自动化应用程序。 在使用其他技术实现自动化之前,请确保您的应用程序已启用可访问性,且未被任何公司政策阻止。 我们建议您使用标志 --force-renderer-accessibility 打开 Google Chrome。
