码迷,mamicode.com
首页 > Web开发 > 详细

【转】Selenium专题—JQuery选择器

时间:2014-12-21 19:25:01      阅读:622      评论:0      收藏:0      [点我收藏+]

标签:

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选择器

标签:

原文地址:http://www.cnblogs.com/tomweng/p/4176894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!