无法调用插入的 Javascript 片段

2024-02-04

我正在尝试将 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 中使用这些方法的经验或者之前看到过此错误消息谁可以帮助我解决?


我实际上一直无法得到Invoke Function使用参数可靠地工作,我总是使用Insert Fragment对于一切,调用包括在内。

如果您将此函数作为片段插入...

function sayHello(name)
{
    alert("Hello " + name + "!");
}

...要调用它,您只需将其作为另一个片段插入:

sayHello("World");

Tadaa!

作为旁注,我不确定您使用应用程序建模器中的哪个元素来插入片段,但似乎您正在使用根(应用程序)节点。我在将片段插入专用 HTML BODY 元素方面有更好的经验,由于某种原因,性能要好得多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法调用插入的 Javascript 片段 的相关文章

  • 在 Mac OS X 上完全重新安装 Ruby Rails 和 Gem

    我最近开始自学 Ruby on Rails 一切进展顺利 只是我希望完全重新安装 Ruby Rails 和 Gem 我想我在某些时候有点太兴奋了 删除 修改了一些我不应该有的文件或文件夹 所以我只想让我的系统恢复到原始状态 以便我可以重新安

随机推荐