+ 首页>>技能>>内容

技能Selenium专题—JQuery选择器(一)105次围观

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");
	}
}

+ 猜你喜欢...

===== 关于 DiggerPlus =====
DiggerPlus是国内新锐测试人垂直内容博客,专注于挖掘测试工具,普及测试技术,专注于测试人能力提升,博客上线后就受到广大测试人的热烈追捧;此外,DiggerPlus深度整合评测资源,揭秘科技数据和真相,让读者更懂科技,更好地把玩科技。 我们始终保持"独立,客观,严谨,优秀"的优良作风,努力为读者带来源源不断的优质内容。想访问更多酷毙的测试人网站?赶紧来DiggerPlus测试人网址导航看看吧!

===== DiggerPlus Team =====
DiggerPlus Team是DiggerPlus官方发起的团队,这是一群热爱科技,热爱测试,喜欢深度挖掘的热血测试人,他们是评测师,测试专家。 我们欢迎优秀的测试人加入DiggerPlus Team。 加入DiggerPlus,可以成为我们的认证Dper,认证Dper拥有DiggerPlus独一无二的专栏并得到个人展示。

===== DiggerPlus 官方读者群 =====
DiggerPlus官方读者群(一)

+ 关于本文作者

我也很想让世界变得更美好,可是上帝却不开放源代码。

的专栏 | 专栏作者 | 访问Kiven的主页

+ 已有1个评论

Copyright © 2014 DiggerPlus. 88 queries in 2.809 seconds.
使用合作网站账号快速登录,更多精彩等着您: 开源中国