我广泛使用HtmlPage类(HTMLUnit)的“executeJavaScript(String queryText)”方法。它工作得很好,但它不识别queryText中的jQuery或$符号。我假设我需要初始化内部jQuery支持或包含jQuery库。有人知道怎么做这个吗? 谢谢
答案 0 :(得分:0)
确保在执行该语句之前有脚本标记下载jquery脚本。最佳位置是在页面的头部元素内。另一种可能性是您有另一个第三方脚本重新定义$
(这是常见的事情):然后您可以尝试在查询文本中使用jQuery
代替$
答案 1 :(得分:0)
String jQueryInjector = 'eval(
function loadJQuery(){
var newJQueryLib = document.createElement("script");
newJQueryLib.type = "text/javascript";
newJQueryLib.src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1
/jquery.min.js";
(document.getElementsByTagName("head")[0]||document
.getElementsByTagName("body")[0])
.appendChild(newJQueryLib););
loadJQuery();';
ScriptResult sr = page.executeJavaScript(jQueryInjector);