在Blue Prism中调用JavaScript如何获取函数返回值并写入数据项/集合
Blue Prism 调用JavaScript返回数据并写入集合/数据项方案
一、JS返回值给Blue Prism的基础逻辑
- 你使用Blue Prism的
Invoke Javascript Function动作(无论是浏览器应用模型内的元素动作,还是页面级的JS调用动作)时,JS函数最后return的值会直接作为该动作的Output输出参数返回给Blue Prism,不需要额外中间层。 - 注意返回的数据类型要匹配Blue Prism可识别的格式:单值直接返回字符串/数字即可,多组键值对建议转成JSON字符串返回,方便后续解析。
二、多组键值对的JS实现示例
假设你已经完成网页文本读取逻辑,以下是返回多组键值对的参考代码:
function getPageKvPairs() { let result = []; // 此处替换为你自己的网页元素读取逻辑 document.querySelectorAll('.target-item').forEach(item => { let kv = { 键名: item.querySelector('.key-field').innerText.trim(), 键值: item.querySelector('.value-field').innerText.trim() }; result.push(kv); }); // 最后返回JSON字符串给Blue Prism return JSON.stringify(result); } // 必须显式调用函数,否则Blue Prism无法拿到返回值 getPageKvPairs();
注意:如果只需要返回单个键值对,直接return对应的字符串即可,不需要转数组JSON。
三、Blue Prism 侧接收并写入数据的步骤
- 先在流程中创建一个文本类型的数据项,命名为
JS返回JSON,用来接收JS输出的结果。 - 配置
Invoke Javascript Function动作的输出绑定,把JS返回值关联到上面创建的JS返回JSON数据项。 - 写入对应存储结构:
- 如果要写入集合:调用官方自带
Utility - JSONVBO里的JSON To Collection动作,输入参数填JS返回JSON,输出绑定你提前创建好的目标集合,即可自动把所有键值对写入集合。 - 如果要写入普通数据项:直接把JS返回的单值输出绑定到对应类型的数据项即可,不需要JSON转换。
- 如果要写入集合:调用官方自带
四、常见踩坑点
- 不要用JS的console.log输出数据,Blue Prism不会捕获控制台内容,必须用return返回结果
- 如果返回的JSON包含特殊字符,确保JS侧做好转义,避免后续解析失败
- 如果目标内容在iframe嵌套页面内,需要先定位到对应iframe再调用JS,否则会读取不到元素返回空值
内容的提问来源于stack exchange,提问作者Sri
相关产品推荐
相关产品推荐

