本文解决了在 Microsoft Power Automate 中运行时 Web 自动化操作无法与 Web 元素交互的问题。

适用于: Power Automate
原始 KB 编号: 4599079

Web 自动化操作 (例如,“单击链接”、“填充文本字段”或“获取元素的详细信息”) 在 Microsoft Power Automate 的运行时失败。

正在验证问题

在桌面流的初始开发过程中,可以捕获 Web 元素并与之交互。

某些网页会动态更改其基础 HTML 结构。 因此,最初用于查找元素的 CSS 选择器不再适用。

若要解决此问题,可以手动创建新的可靠的 CSS 选择器。 即使 HTML 结构发生更改,它也能找到感兴趣的元素。

为此,请在失败后再次捕获 Web 元素,并将新的 CSS 选择器与旧选择器进行比较。

可以通过选择器生成器窗口查看和编辑 CSS 选择器

请注意这两个选择器之间的差异 - 可能有一个或多个元素或属性不同。

编辑选择器以仅包含不容易更改的静态部分。 可以遵循以下一些方法:

  • 删除任何动态值(如数字),并相应地修改相关运算符 (“开头为”、“结尾为”、“包含”等。)
  • 如有必要,请从选择器路径中删除整个元素。
  • 使用“包含”选择器找到使用网页上可见文本的元素。
  • 选择器包含具有动态类的元素,例如 div[class="some_class123"] 。 这可以修改为 div[class^="some_class"] (“开头为”运算符) 。
  • 选择器包含具有许多动态属性的元素,例如 div[class="some_class123"][id="some_id123"] > a[id="some_id"] 。 可以将其修改为 a[id="some_id"] (完全省略第一部分) 。
  • 感兴趣的元素具有一些静态文本 - 可以修改选择器以仅包含该文本。 例如, div[class="some_class123"][id="some_id123"] > a[id="some_id"] 可以修改为 a:contains("the_text_we_see_on_the_webpage")
  • 即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅: https://aka.ms/ContentUserFeedback

    提交和查看相关反馈