1

我希望能够使用 Watir 动态加载像 jquery 这样的 .js 库,以实现一些高级浏览器自动化。这是我尝试过的:

$browser.execute_script( %{var bootscript = document.createElement("script");
      bootscript.setAttribute("type", "text/javascript");
      bootscript.setAttribute("src", "//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js");
      document.getElementsByTagName("head")[0].appendChild(bootscript);
     alert('I loaded jquery!');});

修复错字后更新不再崩溃。使用 jquery 函数时仍然出现错误。

4

1 回答 1

1

发生异常是因为执行 javascript 时出错。如果您检查该页面,您将看到一个 javascript 错误,例如:

Message: 'script' is undefined
Line: 1
Char: 1
Code: 0

如果逐行添加脚本,您将看到该行发生错误:

document.getElementsByTagName("head")[0].appendChild(script);

问题是您的变量中有错字。您正在使用script而不是您定义的bootscript. 执行以下操作将不再引发异常:

document.getElementsByTagName("head")[0].appendChild(bootscript);
于 2013-03-22T16:22:55.463 回答