????1.?????????JQuery????????????????JQuery?????
????????www.jquery.com??????????????λ????е??????е????????????jquery??α?????:even
????WebDriver?????JQuery?????
???????????????
packagecom.example.tests;
importstaticorg.junit.Assert.*;
importjava.util.*;
importorg.junit.*;
importorg.openqa.selenium.*;
importorg.openqa.selenium.ie.InternetExplorerDriver;
publicclasstest{
WebDriverdriver=newInternetExplorerDriver();
JavascriptExecutorjse=(JavascriptExecutor)driver;
@Test
publicvoidjQueryTest(){
driver.get("http://www.jquery.com/");
//??executeScript?е???jQuery.find(jquerySelector);
List<WebElement>elements=
(List<WebElement>)jse.executeScript("returnjQuery.find"+"('.menu-itema:even')");
assertEquals(3??elements.size());
assertEquals("Download"??elements.get(0).getText());
assertEquals("Blog"??elements.get(1).getText());
assertEquals("BrowserSupport"??elements.get(2).getText());
driver.close();
}
}
????2.????????????????????jQuery????????????ж????????????????????????????????м????
packagecom.example.tests;
importstaticorg.junit.Assert.*;
importjava.util.*;
importorg.junit.*;
importorg.openqa.selenium.*;
importorg.openqa.selenium.ie.InternetExplorerDriver;
publicclassSelenium2{
WebDriverdriver=newInternetExplorerDriver();
JavascriptExecutorjse=(JavascriptExecutor)driver;
@Test
publicvoidjQueryTest(){
driver.get("http://www.baidu.com/");
injectjQueryIfNeeded();
List<WebElement>elements=(List<WebElement>)jse
.executeScript("returnjQuery.find('#nva')");
assertEquals(7??elements.size());//??????????????
for(inti=0;i<elements.size();i++){
System.out.print(elements.get(i).getText()+"??");
}
driver.close();
}
privatevoidinjectjQueryIfNeeded(){
if(!jQueryLoaded())
injectjQuery();
}
//?ж????????jQuery
publicBooleanjQueryLoaded(){
Booleanloaded;
try{
loaded=(Boolean)jse.executeScript("return"+"jQuery()!=null");
}catch(WebDriverExceptione){
loaded=false;
}
returnloaded;
}
//??????jQuery
publicvoidinjectjQuery(){
jse.executeScript("varheadID="
+"document.getElementsByTagName("head")[0];"
+"varnewScript=document.createElement('script');"
+"newScript.type='text/javascript';"+"newScript.src="
+"'http://ajax.googleapis.com/ajax/"
+"libs/jquery/1.7.2/jquery.min.js';"
+"headID.appendChild(newScript);");
}
}