1、环境搭建
jdk1.6版本:selenium 2.4版本。
jdk1.8版本:selenium3.14版本。
(1)selenium的jar包下载:
地址:http://selenium-release.storage.googleapis.com/index.html
需要用:selenium-server-standalone-3.9.1.jar(需要在cmd下安装,java -jar ***),selenium-java-2.40.0.jar,selenium-java-2.40.0-srcs.jar还有它的libs。
(2)webDriver下载:
注意:webDriver必须与浏览器版本相对应,否则会出现问题
2、程序代码示例
//固定时间等待:driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);//设定最大等待时间,一旦标签存在即可返回:wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".abc")))
WebDriver driver = new ChromeDriver(); //新建一个WebDriver 的对象,但是new 的是谷歌的驱动
driver.get(url); //打开指定的网站
try{
Thread.sleep(60000);//60秒
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}catch(Exception e) {
e.printStackTrace();
}//定位层级元素
WebElement e = driver.findElement(By.cssSelector(".animation-toggle"));
e.click();//等待加载完页面
try{
Thread.sleep(60000);//60秒
driver.manage().timeouts().implicitlyWait(60,TimeUnit.SECONDS);//等待界面加载完
}catch(Exception e2)
{
e2.printStackTrace();
}
SimpleDateFormat sdf= new SimpleDateFormat("yyyyMMdd");
Date d=newDate();
List list = driver.findElements(By.cssSelector("img.frame"));//img标签,class为frame
int i=-1;for(WebElement el : list)
{
String img_url=el.getAttribute("src");//System.out.println(img_url);
String time = sdf.format(d.getTime()+i*24*60*60*1000);
loadPage(img_url,type,time);
i=i+1;
}
driver.quit();//退出浏览器
3、元素定位
(1)根据tagName
driver.findElement(By.cssSelector("