某些现代网页应用程序使用 Shadow DOM 标准为可重用控件提供样式和行为封装,以便这些控件的样式和脚本不会干扰页面的其余部分。 它限制通过普通 DOM 直接访问 Shadow DOM 对象。

Recorder 支持此类现代应用程序的基于对象的自动化,确保无缝自动化并最大限度地降低自动化故障的风险。

为了支持这些自动化,您可以使用以下属性:
  • Shadow-Root Path: 使用 Shadow-Root Path 属性来识别和访问 Shadow DOM 内的元素。 此属性使 Recorder 能够准确定位和自动化封装的元素,这些元素无法通过标准 DOM 直接访问。 它以字符串格式的所有影子根元素的 JSON 数组列表表示,定义了 Recorder 将在其中搜索目标元素的边界。 可以使用变量,但不支持通配符 (*)。 这是位于 Shadow DOM 内部元素的默认属性。
    注: 确保选择 Shadow-Root path 属性以自动化影子根元素。 在网页中自动化影子根元素时,Recorder 将首先通过 ID 搜索特定元素,然后通过 CSS 选择器搜索。

    用于自动化影子根元素的属性

  • CSS 选择器: CSS 选择器用于识别网页上的元素以及与其进行交互,类似于 DOMXPath。 使用 CSS 选择器属性通过 CSS 选择器语法(例如类名、ID 或标签名)在 DOM 中选择元素。 CSS 选择器用于根据元素的属性来定位元素。 如果您的元素位于 Shadow DOM 中,那么 CSS 选择器应与 Shadow-Root Path 属性一起使用。 可以使用变量,但不支持通配符 (*)。
    注: 此属性适用于所有 HTML 元素。
    重要: 即使您未使用最新的 Recorder package 版本 (3.3.1-20241001-095119),只要 Google Chrome 扩展版本是 3.3.0.0 或更高版本,CSS 选择器就能正常工作。 但是,如果 Google Chrome 扩展版本早于 3.3.0.0,请确保取消选择 CSS 选择器属性,以便自动化操作能够成功执行。
您可以在 Shadow DOM 中捕获和自动化以下元素:
  • 文本框
  • 组合框
  • 复选框
  • 按钮
  • 单选按钮
  • 链接
  • 标签
  • 列表视图

支持性

  • Google ChromeMicrosoft Edge 浏览器支持此功能。
  • 支持 Frame 和 IFrame(同域和跨域)。
  • 支持以下 actions 中的对象已存在对象不存在条件: 如果循环 > action,以及等待 > 等待条件 action
  • 支持所有现有的 HTML 控件及其对应的 actions
  • 支持 VMware Horizon、Citrix XenApp 以及 XenApp (CR) 到 XenApp(商业应用程序)。

已知行为

  • 不支持使用 DOMXPath 属性自动化影子根元素。
  • 无法访问已关闭的影子根元素内的元素。
  • 不支持通过所有算法搜索元素。
  • 不支持在嵌套的跨域 Iframe 中自动化影子根元素。
  • 使用获取属性 action 时,Shadow-Root Path 属性将不会显示任何值。