运行 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
  • 可选: 使用捕获对象选项捕获 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 支持 StringNumberBoolean JavaScript 类型,这些类型对应于 bot 变量中的相同变量类型,或者对应于 bot 变量类型 Any
推荐:
  • 请勿将 Jquery 与 JavaScript package 一起使用。
  • 使用来自 JavaScript 函数中的 Try/Catch actionsError handler
  • 在声明之前调用 JavaScript 函数。

观看以下视频,了解如何使用 Browser package 中的运行 JavaScript action,以直接在现有浏览器窗口中执行 JavaScript:

基于对象的应用程序自动化

我们建议您使用Recorder进行基于对象的自动化,而不是运行JavaScript action。 如果您使用运行 JavaScript action 来自动化动态网页,并且控制层次结构或属性发生变化,那么您必须重新编写整个脚本。 仅使用运行 JavaScript action 来执行任何应用程序中的外部脚本。

如果您无法使用默认的 HTML 技术进行捕获,可以使用 Recorder 结合其他可用技术来自动化应用程序。 在使用其他技术实现自动化之前,请确保您的应用程序已启用可访问性,且未被任何公司政策阻止。 我们建议您使用标志 --force-renderer-accessibility 打开 Google Chrome

启用应用程序的可访问性