从VBS调用的Javascript代码在运行时抛出未指定的错误

时间:2017-11-07 13:25:59

标签: javascript internet-explorer vbscript hp-uft

我有一个网页,我想在其上添加jQuery lib,这里是代码:

var script = document.createElement('script');
script.src ="https://code.jquery.com/jquery-1.11.3.min.js";
document.body.appendChild(script);

使用VBS代码从UFT调用此代码:

script= "var script = document.createElement('script');" &_
        "script.src =" & chr(34) & "https://code.jquery.com/jquery-1.11.3.min.js" & chr(34) & ";" &_
        "document.body.appendChild(script);"
Browser("myBrowser").Page("myPage").RunScript(script)

当我运行我的VBS代码时,会抛出错误

  

“Erreurnonspécifiée”|用英语“未指明的错误”

但是我无法弄清楚为什么抛出这个错误,因为VBS和我的js代码看起来都没问题......我正在使用IE 8企业模式,并且在安全选项中启用了脚本。 我对如何解决这个问题没有更多的想法...

谢谢,

1 个答案:

答案 0 :(得分:2)

这由UFT's online documentation

涵盖
  

运行此方法时,应使用eval()函数或匿名函数运行为此方法输入的脚本。   例如,您可以使用以下函数:

"eval(var remove = document.getElementsByTagName('a')[0]; var per = remove.parentNode; per.removeChild(remove););"
     

OR   "(function(){var remove = document.getElementsByTagName('a')[0]; var per = remove.parentNode; per.removeChild(remove);})();" *

请参阅修改过的代码,该代码可以进行一些更改

  1. 代码放在anonymous function and immediately executed (IIFE)
  2. 我使用单引号代替chr(34)(它没有区别,只是更具可读性)。

    script = "(function(){" &_ 
      "var script=document.createElement('script');" &_  
      "script.src='https://code.jquery.com/jquery-1.11.3.min.js';" &_  
      "document.body.appendChild(script);" &_   
    "})();"