一、浏览器打开,关闭等基本操作
在使用java程序调用selenium API之前,要导入jar包。下载selenium包,将文件夹里的jar包导入到eclipse;
这样我们就可以通过java程序来调用selenium API了。下面用程序演示了打开浏览器进行一些基本操作之后关闭浏览器的一个过程。
package com.test;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class SeleniumAPI {
@Test
public void test(){
//如果启动出现问题,可以使用System.setProperty指明firefox.exe的路径
System.setProperty("webdriver.firefox.bin", "C:/Program Files/Mozilla Firefox/firefox.exe");
WebDriver driver = new FirefoxDriver();//启动Firefox浏览器
driver.manage().timeouts().pageLoadTimeout(5000, TimeUnit.SECONDS);//设置超时时间
//Navigation navigate = driver.navigate();
driver.navigate().to("http://localhost/jenkins");//链式编程,浏览器跳转到Jenkins界面
driver.manage().window().maximize();//页面最大化
driver.findElement(By.linkText("新Job")).click();//点击“新job”按钮
driver.navigate().back();//页面回退
driver.navigate().forward();//页面前进
driver.quit();
}
}
二、查找元素
通过调用findelEment()和findelEments()函数来进行元素查找,两者的区别:(1)前者查找返回找到的第一个元素;后者查找满足要求的所有元素并返回一个数组。(2)前者找不到元素会抛出异常;后者找不到元素返回null值,不抛出异常。
我们可以通过以上函数查找元素并对其进行操作;
WebElement element = driver.findElement(By.className("task"));
List<WebElement> list = driver.findElements(By.className("task"));
Iterator <WebElement> iterator = list.iterator();
while(iterator.hasNext()){
iterator.next().click();
}
可以结合一些元素操作方法以及API函数进行相关练习,例如;
driver.findElement(By.xpath("//b[text()='登录']")).click();