本文提供了解决在 Microsoft Power Automate 中运行时 Web 自动化操作无法与 Web 元素交互的问题。
适用于:
Power Automate
原始 KB 编号:
4599079
Web 自动化操作 (例如,“单击链接”、“填充文本字段”或“获取元素详细信息”) 在 Microsoft Power Automate 中的运行时失败。
在桌面流的初始开发过程中,可以捕获 Web 元素并与之交互。
某些网页动态更改其基础 HTML 结构。 因此,最初用于查找元素的 CSS 选择器不再适用。
若要解决此问题,可以手动创建新的可靠 CSS 选择器。 即使 HTML 结构发生更改,它也能找到感兴趣的元素。
若要实现此目的,请在失败后再次捕获 Web 元素,并将新的 CSS 选择器与旧的 CSS 选择器进行比较。
可以通过
选择器生成器
窗口查看和编辑 CSS 选择器:
请注意两个选择器之间的差异 - 可能有一个或多个不同元素或属性。
编辑选择器以仅包含不易更改的静态部件。 可以遵循以下一些方法:
删除任何动态值(如数字)并相应地修改相关运算符 (“开头”、“结尾”、“包含”等。)
如有必要,从选择器路径中删除整个元素。
使用“Contains”选择器找到使用其在网页上可见的文本的元素。
选择器包含一个具有动态类的元素,例如
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")
.