zoukankan      html  css  js  c++  java
  • selenium 加载jquery

    packagecom.example.tests;
    import staticorg.junit.Assert.*;
    import java.util.*;
    import org.junit.*;
    import org.openqa.selenium.*;
    import org.openqa.selenium.ie.InternetExplorerDriver;
    public classSelenium2{
    WebDriver driver = newInternetExplorerDriver();
    JavascriptExecutor jse = (JavascriptExecutor) driver;
    @Test
    public voidjQueryTest() {
    driver.get("http://www.baidu.com/");
    injectjQueryIfNeeded();
    List<WebElement> elements = (List<WebElement>) jse
    .executeScript("return jQuery.find('#nv a')");
    assertEquals(7, elements.size()); // 验证超链接的数量
    for (inti = 0; i < elements.size(); i++) {
    System.out.print(elements.get(i).getText() + "、");
    }
    driver.close();
    }
    private voidinjectjQueryIfNeeded() {
    if(!jQueryLoaded())
    injectjQuery();
    }
    // 判断是已加载jQuery
    publicBoolean jQueryLoaded() {
    Boolean loaded;
    try{
    loaded = (Boolean) jse.executeScript("return "+ "jQuery()!=null");
    } catch(WebDriverException e) {
    loaded = false;
    }
    returnloaded;
    }
    // 通过注入jQuery
    public voidinjectjQuery() {
    jse.executeScript(" var headID = "

    + "document.getElementsByTagName("head")[0];"
    + "var newScript = document.createElement('script');"
    + "newScript.type = 'text/javascript';" + "newScript.src = "
    + "'http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js';"
    + "headID.appendChild(newScript);"); 

    }
    }

  • 相关阅读:
    第三发
    第二发
    第一发
    要看的算法
    haxe坑
    TCP/IP协议三次握手与四次握手流程解析(转)
    Android动态类生成预加载-dexmaker使用
    Java中ArrayList 、LinkList区别
    Java解析YAML和Android解析YAML
    Java sax、dom、pull解析xml
  • 原文地址:https://www.cnblogs.com/x666-6/p/8406436.html
Copyright © 2011-2022 走看看