如何在Power Automate Desktop自定义选择器中定位匹配InnerText的按钮
失效原因
原生CSS选择器不支持直接通过innerText属性匹配元素内容,你最初写的button[innerText="Add to Account"]不符合标准选择器规范,因此无法生效。另外你提到的文本Add to account和实际元素里的文本Add to Account大小写不一致,也是可能导致匹配失败的原因。
不同场景的正确配置方式
- 如果你使用的工具支持XPath选择器(绝大多数自动化测试、爬虫、低代码自动化平台都支持该语法),最稳定的写法如下,会自动忽略文本前后的多余空格:
//button[normalize-space(text())="Add to Account"] - 如果你只能使用标准CSS选择器,优先用元素独有的属性匹配,比文本匹配稳定性更高,当前按钮有专属的点击事件属性,写法为:
button[data-ng-click="vm.accountOnly()"] - 如果你使用的是jQuery类支持扩展选择器的环境,可以用contains语法:
$("button:contains('Add to Account')") - 如果是原生JS环境需要匹配文本,可以用filter逻辑实现:
const targetButton = Array.from(document.querySelectorAll('button.btn-primary')) .find(btn => btn.textContent.trim() === 'Add to Account')
内容的提问来源于stack exchange,提问作者Joshua Thomas
相关产品推荐
相关产品推荐

