selenium 加载jquery

来源:互联网 发布:怎么成为淘宝优惠群主 编辑:程序博客网 时间:2024/04/29 04:45

 

01packagecom.example.tests; 
02   
03import staticorg.junit.Assert.*; 
04importjava.util.*; 
05importorg.junit.*; 
06importorg.openqa.selenium.*; 
07importorg.openqa.selenium.ie.InternetExplorerDriver; 
08   
09public classSelenium2{ 
10    WebDriver driver = newInternetExplorerDriver(); 
11    JavascriptExecutor jse = (JavascriptExecutor) driver; 
12   
13    @Test 
14    public voidjQueryTest() { 
15        driver.get("http://www.baidu.com/"); 
16        injectjQueryIfNeeded(); 
17        List<WebElement> elements = (List<WebElement>) jse 
18                .executeScript("return jQuery.find('#nv a')"); 
19        assertEquals(7, elements.size()); // 验证超链接的数量 
20        for (inti = 0; i < elements.size(); i++) { 
21            System.out.print(elements.get(i).getText() + "、"); 
22        
23        driver.close(); 
24    
25    private voidinjectjQueryIfNeeded() { 
26        if(!jQueryLoaded()) 
27            injectjQuery(); 
28    
29   
30    // 判断是已加载jQuery 
31    publicBoolean jQueryLoaded() { 
32        Boolean loaded; 
33        try
34            loaded = (Boolean) jse.executeScript("return ""jQuery()!=null"); 
35        catch(WebDriverException e) { 
36            loaded = false
37        
38        returnloaded; 
39    
40   
41    // 通过注入jQuery 
42    public voidinjectjQuery() { 
43        jse.executeScript(" var headID = " 
44                "document.getElementsByTagName(\"head\")[0];" 
45                "var newScript = document.createElement('script');" 
46                "newScript.type = 'text/javascript';" "newScript.src = " 
47                "'http://ajax.googleapis.com/ajax/" 
48                "libs/jquery/1.7.2/jquery.min.js';" 
49                "headID.appendChild(newScript);"); 
50    
51}
0 0