如何使用blueprism中的invoke js从javascript函数返回输出
Posted
技术标签:
【中文标题】如何使用blueprism中的invoke js从javascript函数返回输出【英文标题】:How to return an output from javascript function using invoke js in blueprism 【发布时间】:2021-12-15 06:56:29 【问题描述】:我想从网页中读取多个键值对并使用 blueprism 将其写入集合。 我想使用javascript。 我能够从网页中读取文本,但无法理解如何将该数据写入 blueprism 数据项或集合。
【问题讨论】:
在 Stack Overflow 上,根据How to Ask,我们希望您能够在发帖前证明您真诚地尝试满足您在此处描述的要求。 【参考方案1】:Blue Prism 不提供将数据直接从 JavaScript 调用返回到调用对象的工具。最好的办法是使用一个脚本,在 DOM 中生成一个隐藏的 input
元素,并附加你想要泄露的数据:
var hiddenElement = document.querySelector('#bp-output');
if (typeof hiddenElement === 'undefined')
hiddenElement = document.createElement('input');
hiddenElement.type = 'hidden';
hiddenElement.id = 'bp-output';
document.body.appendChild(hiddenElement);
hiddenElement.value = /* some functionality to set the value of the newly-created hidden element */;
您需要在对象的应用程序建模器中对该元素进行建模,但这很简单 - 除了“ID”或“Web ID”之外,您不需要匹配任何属性,而且它只是一个匹配项到字符串bp-output
。
从那里,您可以使用典型的读取阶段从元素的 value
属性中读取值。
对于像集合这样更复杂的数据结构,您将不得不利用一些序列化技巧来到达您想要的位置。例如,如果您尝试通过 JavaScript 将表读入 Collection,则上例中的 /* functionality to set the value of the newly-created hidden element */
可能需要利用 this SO thread 中的一些代码将表本身序列化为 CSV 字符串。从隐藏元素的 value
读取字符串后,您可以使用供应商提供的 Utility - Strings
VBO 中的 CSV 相关操作将其序列化为适当的集合,以供您在对象/进程中使用。
【讨论】:
以上是关于如何使用blueprism中的invoke js从javascript函数返回输出的主要内容,如果未能解决你的问题,请参考以下文章