packagecom.example.tests;

 import staticorg.junit.Assert.*;
importjava.util.*;
importorg.junit.*;
importorg.openqa.selenium.*;
importorg.openqa.selenium.ie.InternetExplorerDriver; public classSelenium2{
WebDriver driver = newInternetExplorerDriver();
JavascriptExecutor jse = (JavascriptExecutor) driver; @Test
public voidjQueryTest() {
driver.get("http://www.baidu.com/");
injectjQueryIfNeeded(); List<WebElement> elements = (List<WebElement>) jse.executeScript("return jQuery.find('#nv a')"); assertEquals(7, elements.size()); // 验证超链接的数量
for (inti = 0; i < elements.size(); i++) {
System.out.print(elements.get(i).getText() + "、");
} driver.close();
} private voidinjectjQueryIfNeeded() {
if(!jQueryLoaded())
injectjQuery();
} // 判断是已加载jQuery
publicBoolean jQueryLoaded() {
Boolean loaded;
try{
loaded = (Boolean) jse.executeScript("return "+ "jQuery()!=null");
} catch(WebDriverException e) {
loaded = false;
}
returnloaded;
} // 通过注入jQuery
public voidinjectjQuery() {
jse.executeScript(" var headID = "
+ "document.getElementsByTagName(\"head\")[0];"
+ "var newScript = document.createElement('script');"
+ "newScript.type = 'text/javascript';" + "newScript.src = "
+ "'http://ajax.googleapis.com/ajax/"
+ "libs/jquery/1.7.2/jquery.min.js';"
+ "headID.appendChild(newScript);");
}
}

selenium 加载jquery的更多相关文章

  1. 测试加载jquery

    Hello world! <h1 id="main-heading">Hello world!</h1> <p><img onclick= ...

  2. 优化加载jQuery的方法

    请看下面的一段代码: <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js" ...

  3. selenium加载时间过长

    为了获取网站js渲染后的html,需要利用selenium加载网站,但是会出现加载时间过长的现象,因此可以限制其加载时间以及强制关掉加载: # !/usr/bin/python3.4 # -*- co ...

  4. seajs加载jquery时提示$ is not a function该怎么解决

    这篇文章主要介绍了seajs加载jquery时提示$ is not a function该怎么解决的相关资料,需要的朋友可以参考下 jquery1.7以上的都支持模块化加载,只是jquery默认的是支 ...

  5. seajs加载jquery提示$ is not a function

    jquery1.7以上的都支持模块化加载,只是jquery默认的是支持amd,不支持cmd.所以要用seajs加载jquery,需要稍微改下jquery 把 if (typeof define === ...

  6. 加载jquery插件注意了

    1.尽量放在</body>之前,不要放在</head>标签之前,如果执意要放也要放在css之后,例如: <link href="style.css" ...

  7. 谈谈动态地加载Jquery库文件的方法

    有时候,我们可能不会在网页中<script src="jquery.min.js" 来加载 Jquery 库,可能在用户点击某个按钮后,才去加载 Jquery 库. 好处不用 ...

  8. 图片懒加载jquery lazyload

    <script type="text/javascript" src="jquery-1.11.3.min.js"></script>& ...

  9. jquery懒加载jquery.lazyload.js

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

随机推荐

  1. php 可以动态的new一个变量类名

    <?PHPheader("content-type:text/html; charset=utf-8");//echo ucfirst('a b'); class Stude ...

  2. sql server 游标continue,总是死循环

    也遇上过:   死循环是因为continue后又执行与上次相同的fetch了.在continue前加一个fetch next from就可以了.

  3. SqlServer收缩日志文件

    通过收缩的方法可以释放所占空间. 第一步:将数据库的模式调整为简单模式 右击数据库名->'属性'->'选项'->恢复模式改成'简单'->点'确定'按钮. 第二步:收缩文件 右键 ...

  4. 引子——从Mac OS X的Lion说起

    最近感悟越来愈多,女儿越来越大,头发越来越少,我知道,自己老了. 30岁之后,时间仿佛开闸的河水一样滚滚而去,感觉自己浪费的时间太多.我们不得不承认,先知先觉的人会比我们领先10年甚至更多的身位.所以 ...

  5. MVC二级联动使用$.ajax方法获取后端返回的字符串

    在"MVC二级联动使用$.getJSON方法"中使用$.getJSON()获取后端返回的JSon. 本篇使用jQuery的$.ajax()获取后端返回的字符串,实现二级联动.   ...

  6. Android APP分享功能实现

    [Android应用开发详解]第01期:第三方授权认证(一)实现第三方授权登录.分享以及获取用户资料   由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折, ...

  7. ExtJs 起始日期 结束日期 验证

    Ext.apply(Ext.form.VTypes,{ daterange: function(val, field) { var date = field.parseDate(val); // We ...

  8. DockManager 如何快速隐藏DockPanel z

    DockPanel在点击hide按钮时候如果鼠标不离开的话,panel还是没隐藏,某种情况下这种现象着实让人不爽,而且当鼠标离开后默认是很缓慢的隐藏 AutoHideSpeed不设置也可以,主要设置H ...

  9. mysql 报错ERROR 1064 (42000),原因使用了mysql保留字 (right syntax to use near 'groups)

    msql 8.0 执行语句: SELECT *  FROM groups; 会报如题的错误, 需加反引号进行修改: SELECT *  FROM `groups`; //////////分割线//// ...

  10. 使用自由软件Icarus Verilog Simulator进行仿真

    Icarus Verilog Simulator(http://iverilog.icarus.com/home)使用iverilog作为源代码编译器,编译生成vvp程序文本,使用vvp作为运行时引擎 ...