Javascript 在Watir中加载js文件
我希望能够使用Watir动态加载.js库,比如jquery,以实现一些高级的浏览器自动化。这就是我所尝试的:Javascript 在Watir中加载js文件,javascript,jquery,ruby,automation,watir,Javascript,Jquery,Ruby,Automation,Watir,我希望能够使用Watir动态加载.js库,比如jquery,以实现一些高级的浏览器自动化。这就是我所尝试的: $browser.execute_script( %{var bootscript = document.createElement("script"); bootscript.setAttribute("type", "text/javascript"); bootscript.setAttribute("src", "//ajax.googleapis.com
$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函数时仍会出现错误。发生异常是因为在执行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);
发生异常是因为执行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);
谢谢你注意到打字错误。加载jquery函数后,使用它仍然存在一些问题。我会在发现问题后尽快更新。需要在新页面上进行测试。感谢您注意到输入错误。加载jquery函数后,使用它仍然存在一些问题。我会在发现问题后尽快更新。需要在新的页面上进行测试。