Power Automate Desktop执行JS代码返回[object Object]问题求助
Power Automate Desktop中获取日历日期文本的解决方案
明确PAD执行JS的返回逻辑:PAD无法直接解析DOM元素对象,必须返回字符串、数组这类可序列化的基础类型,不能依赖控制台自动输出元素内容的机制。
修正JS代码写法,确保返回最终处理结果:
先筛选未禁用元素,再提取文本组成数组(或直接转字符串),示例代码如下:// 替换为你的日历日期元素选择器,确保能定位到目标元素 const enabledDateElements = document.querySelectorAll('td.calendar-day:not([disabled])'); // 提取日期文本并去空格 const dateTextArray = Array.from(enabledDateElements).map(el => el.textContent.trim()); // 返回数组(PAD可直接接收为数组变量),若需字符串格式则用return dateTextArray.join(','); return dateTextArray;PAD端接收设置:
在「执行JavaScript」动作中,将结果存储到变量,变量类型选择「数组」(对应返回数组的情况)或「文本」(对应返回字符串的情况),后续可直接使用该变量。额外排查点:
- 确保PAD操作的页面和控制台测试的页面完全一致,避免页面加载状态差异导致元素无法定位。
- 如果页面是动态加载日历,需在执行JS前添加「等待元素存在」动作,确保目标元素已加载完成。
- 移除代码中仅用于控制台输出的
console.log语句,PAD不会捕获控制台输出,必须通过return返回结果。
内容的提问来源于stack exchange,提问作者JokumJokumJokum
相关产品推荐
相关产品推荐

