juqery选择器是jquery库中非常重要的功能。jquery选择器是基于CSS1-3选择器,加上一些额外的选择器。这些选择器和CSS选择器的使用方法很相似,允许开发人员简单快速的识别页面上的元素。同样可以定位HTML中的元素作为一个单独的元素或者是一个元素的集合。jquery选择器可以使用在那些不支持CSS选择器的浏览器上。

1、使用jquery选择器时需要注意测试的页面有没有加载jquery库

程序清单-判断是否加载jquery库:

package com.Test.function;

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; //判断测试页面是否加载jquery库,如果没有则手动加载google的在线库
public class JQuery {
static String url1 = "http://www.baidu.com";
static String url2 = "http://weibo.kedacom.com";
static String DriverPath = "F:\\AutoTest\\selenium\\chromedriver.exe";
static WebDriver driver; //测试函数
public static void main(String args[]){
JQuery j = new JQuery();
//加载chrome驱动
System.setProperty("webdriver.chrome.driver",DriverPath);
driver = new ChromeDriver(); driver.get(url1);
j.injectJqueryIfNeeded();
driver.navigate().to(url2);
j.injectJqueryIfNeeded();
driver.quit();
} //加载jquery
private void injectJqueryIfNeeded(){
if(!jqueryIsLoaded()){
injectJQuery();
}
} /*
* 判断是否加载jquery
* 返回true表示已加载jquery
*/
public Boolean jqueryIsLoaded(){
Boolean loaded;
try{
loaded = (Boolean)((JavascriptExecutor)driver).executeScript("return jQuery()!=null");
System.out.println("页面本身已加载jquery");
}catch(Exception e){
loaded = false;
}
return loaded;
} //注入jquery
public void injectJQuery(){
//在head中拼出加载jquery的html,固定写法
String jquery = "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.9.1/jquery.min.js';" +
"headID.appendChild(newScript);";
//执行js
((JavascriptExecutor)driver).executeScript(jquery);
System.out.println("手动加载jquery");
}
}

原文:http://www.ostest.cn/archives/256

【转】Selenium专题—JQuery选择器的更多相关文章

  1. jQuery学习笔记(一)jQuery选择器

    目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...

  2. selenium用jquery改变元素属性

    一.jQuery 语法 jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作. 1.基础语法: $(selector).action() 选择符(selector)即," ...

  3. JQuery 选择器

    选择器是JQuery的根基,在JQuery中,对事件的处理,遍历DOM和AJAX操作都依赖于选择器.如果能够熟练地使用选择器,不仅能简化代码,而且还可以事半功倍. JQuery选择器的优势 1.简洁的 ...

  4. jQuery的案例及必知重要的jQuery选择器

    Jquery能做什么 访问和操作DOM元素 控制页面样式 对页面事件进行处理 扩展新的jQuery插件 与Ajax技术完美结合 Jquery的优势 体积小,压缩后只有100KB左右 l强大的选择器 出 ...

  5. 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器

    × 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...

  6. jQuery选择器和选取方法 http://www.cnblogs.com/MaxIE/p/4078869.html

    我们已经使用了带有简单Css选择器的jQuery选取函数:$().现在是时候深入了解jQuery选择器语法,以及一些提取和扩充选中元素集的方法了. 一.jQuery选择器 在CSS3选择器标淮草案定义 ...

  7. 《锋利的jQuery(第2版)》笔记-第2章-jQuery选择器

    选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.熟练使用选择器,不仅可以简化代码,而且可以达到事半功倍的效果. 2.1 jQuery选择器是什么 1. ...

  8. 深入学习jQuery选择器系列第八篇——过滤选择器之伪子元素选择器

    × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 本文是子元素选择器的续篇,主要介绍关于nth-of-type()选择器的内容.该部分内容并非没有出现在<锋利的 ...

  9. 深入学习jQuery选择器系列第四篇——过滤选择器之属性选择器

    × 目录 [1]简单属性 [2]具体属性 [3]条件属性 前面的话 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素,对应于CSS中的属性选择器.属性过滤选择器可分为简单属性选择器.具体属性选 ...

随机推荐

  1. 01背包(分组) HDOJ 4341 Gold miner

    题目传送门 题意:有n个金矿,每个金矿有抓取的消耗的时间和价值,矿工在原点,问在T时间内能得到的最大的价值 分析:唯一和01背包不同的是金矿可能共线,也就是抓取近的金矿后才能抓后面共线的金矿.这是分组 ...

  2. 189 Rotate Array 旋转数组

    将包含 n 个元素的数组向右旋转 k 步.例如,如果  n = 7 ,  k = 3,给定数组  [1,2,3,4,5,6,7]  ,向右旋转后的结果为 [5,6,7,1,2,3,4].注意:尽可能找 ...

  3. 使用 Suricata 进行入侵监控(一个简单小例子访问百度)

    前期博客 基于CentOS6.5下Suricata(一款高性能的网络IDS.IPS和网络安全监控引擎)的搭建(图文详解)(博主推荐) 1.自己编写一条规则,规则书写参考snort规则(suricata ...

  4. 框架系列~OwinSelfHost自宿主的使用

    在进入mvc5之后,OWIN变更很主推,很热,关于OWIN的文章也就出来了,下面阅读了dudu和一些园友的文章,自己也做了一个SelfHost的程序,测试了一下,感觉还是比较有Core的风格,可能也是 ...

  5. AJPFX总结面向对象思想设计原则

    面向对象思想设计原则   A.单一职责原则           其实就是开发人员经常说的”高内聚,低耦合”           也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原 ...

  6. 将call/apply方法应用于其他对象上的几种方法

    在处理类数组中,发现了两种将数组方法应用于类数组的方法,现将call/apply的常用方式总结一下. 一.当做函数调用 function print_vars(var1,var2){ console. ...

  7. JVM 优点与缺点的深入分析

    Java 最初诞生的时候,它可以说是其他语言的进化版.不仅因为Java很简单,而且这一进化的语言还是一个可以运行第三方硬件字节码的虚拟机.它还是垃圾收集站,从而令存储管理和内核转储(core dump ...

  8. 提高SQL查询效率 的10大方法

    一.查询条件精确,针对有参数传入情况 二.SQL逻辑执行顺序 FROM–>JOIN–>WHERE–>GROUP–>HAVING–>DISTINCT–>ORDER–& ...

  9. swal用法

    swal({   title: "确认删除?",   text: "Your will not be able to recover this imaginary fil ...

  10. Winform窗体验证登陆

    用户名,密码尽量不要在BLL,UIL判断,尽可能的在储存过程判断,通过返回的值不同,进行判断,这样提高安全性SQL Server储存过程代码: BEGINif(exists ( select User ...