zoukankan      html  css  js  c++  java
  • 【转】Selenium专题—JQuery选择器

    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

  • 相关阅读:
    Mysql TEXT类型长度
    php中的||和or的区别 优先级
    常用的排序算法的时间复杂度和空间复杂度
    ThinkPHP 多应用多模块建立方式
    phpcms v9 后台添加修改页面空白页问题解决方法
    linux中nginx重定向方法总结
    Nginx的主要配置参数说明
    Apache多网站虚拟目录域名
    xampp命令
    (转载)处理SQL解析失败导致share pool 的争用
  • 原文地址:https://www.cnblogs.com/tomweng/p/4176894.html
Copyright © 2011-2022 走看看