关于Microsoft Power Automate-元素的定位-自定义写法去定位时-:nth-child 与 :eq 的区别
Posted on 2025-12-27 22:30 520_1351 阅读(1) 评论(0) 收藏 举报在 Power Automate(特别是桌面流 Desktop Flow 或 Web 自动化)中,当你使用 CSS 选择器来定位网页元素时,
:nth-child() 和 :eq() 是两个常见的伪类/伪选择器,但它们的含义和行为有显著区别。
1. :nth-child(n)
- 标准 CSS 伪类,被所有现代浏览器原生支持。
- 选择的是父元素下的第 n 个子元素,且该子元素必须匹配前面的选择器。
- 计数从 1 开始(即
:nth-child(1)表示第一个子元素)。最后一个元素,可以写成:last-child - 它只考虑所有子元素中的位置,不管这些子元素的标签名或类型是否匹配你的选择器。
tr:nth-child(2)
表示:选择 <tbody> 中第二个子元素,并且这个子元素是 <tr>。如果第二个子元素不是 <tr>(比如是注释或文本节点),则不会选中任何东西。
2. :eq(n)
- 不是标准 CSS 选择器,而是 jQuery 特有的扩展。
- 在 jQuery 中,
:eq(n)会选择匹配当前选择器的所有元素中索引为 n 的那个元素。 - 计数从 0 开始(即
:eq(0)表示第一个匹配的元素)。 - 它先筛选出所有符合前面选择器的元素,再按顺序取第 n 个。
笔者这里以最近写的一个实际的例子说明,这种非常合适自定义元素位置,使用Microsoft Power Automate 去定位元素时非常有用
如有多个链接需要点击、或者获取多个元素的文本内容,都可以先通过 自己写的元素定义方法,去定位到元素,再使用 Microsoft Power Automate去操作
iframe[Id="studio-frame"] div[Id="cdk-drop-list-0"] > div > div > div > div > div > cdk-virtual-scroll-viewport > div > table > tbody > tr:nth-child(%LoopIndex%)
前面的部分可以通过 自动定位元素、最后的 tr:nth-child(%LoopIndex%) 就是自己添加上去的,其中 也是代表 tbody 下,指定的tr行 这里是从1开始的!! 别外具体是第几行,通过 LoopIndex 变量值
笔者常用于,先定义一个数字变量LoopIndex, 循环,从1开始,到一个比较大数字 ,增量为1, 然后再依次定位到 序列的元素,进行操作、当获取不到元素时,则退出循环!
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/19410208
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!
浙公网安备 33010602011771号