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

  • 相关阅读:
    在linux上安装python, jupyter, 虚拟环境(virtualenv)以及 虚拟环境管理之virtualenvwraper
    linux
    Django ORM那些相关操作
    Django 中 form 介绍
    MySQL完整性约束
    git入门
    MySQL表的操作
    努力努力再努力
    Docker初始
    IO模型
  • 原文地址:https://www.cnblogs.com/tomweng/p/4176894.html
Copyright © 2011-2022 走看看