我正在尝试将 Javascript 片段插入网页,然后使用 blue prism 调用它。这样做的目的是分析搜索返回哪些元素,以确定整个流程中下一步该去哪里。
我已经使用 IE 11 开发者控制台在目标网站上测试了 Javascript 代码,它可以正常工作。代码如下,以防有用。
function includes(stringToCheck, CharacterToSearchFor)
{
var found = new Boolean();
var splitString = stringToCheck.split("");
for (var index = 0; index < splitString.length; index++)
{
if(splitString[index] == CharacterToSearchFor)
{
return true;
}
}
return false;
}
function getPartners() //declare a function which can be called from BP. once called all code within the enclosing {} will be run
{
var searchResults = document.getElementsByClassName("findASolicitorListItem"); //search the web page for all elements with a specific tag and store them in a variable called searchResults.
if(searchResults.length == 0) // If the number
{
alert( "No Solicitors were found.");
}else if(searchResults.length == 1)
{
var innerSearchResults = searchResults[0].getElementsByTagName("span");
for(i = 0; i < innerSearchResults.length; i++)
{
var spanText = innerSearchResults[i].innerText.toString();
if((spanText != ""))
{
if(!includes(spanText, "|"))
{
alert("One Solicitor found. " + spanText);
}
}
}
}else if (searchResults.length > 1)
{
alert( "More than one solicitor was found. Manual Checking required.");
}
}
这存储在数据项中并传递到导航阶段(插入 Javascript 片段)参数。
插入Javascript片段阶段的PrintScreen https://i.stack.imgur.com/7OuRO.png
当这个阶段运行时,它成功地将 Javascript 函数注入到网页中。
然后我尝试调用这个插入的 javascript 片段
调用 Javascript 函数阶段的打印屏幕 https://i.stack.imgur.com/vHrOC.png
当此阶段运行时,我收到 Blue Prism 引发的以下错误消息。
内部:无法在“分析搜索结果”页面上的导航阶段“分析结果”中执行步骤 1 - 调用 javascript 方法时失败:来自 HRESULT 的异常:0x80020101-> at mshtml.HTMLWindow2Class.IHTMLWindow2_execScript(字符串代码,字符串语言)
在 BluePrism.ApplicationManager.HTML.clsHTMLDocument.InvokeJavascriptMethod(字符串方法名称,字符串 jsonargs,对象& retval,字符串& sErr)
我搜索了这个错误代码并发现this https://stackoverflow.com/questions/7102989/what-does-0x80020101-represent答案表明代码有问题,但是我可以手动运行此代码。
有谁有在 BluePrism 中使用这些方法的经验或者之前看到过此错误消息谁可以帮助我解决?