1,下载Selenium2地址:http://seleniumhq.org/download/,位于Selenium Client & WebDriver Language Bindings 栏。
2,下载完成后解压可以看到:
3,运行java程序和selenium服务器都需要先安装JDK,JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
4.下载安装eclipse,下载地址:http://www.eclipse.org/downloads/
5.新建Java项目,添加引用。
a.在package explorer中用鼠标右键电机项目,选择properties
b.选择java build path ,选择libraries,单击 add external JARs,添加lselenium2压缩包里面所有的jar文件,然后单击ok,则可在package explorer中查看到刚刚添加的jar包。
6.一切准备好后,开始写代码。
package selenium_qt;
import java.util.Iterator;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.WebDriver.Options;
import org.openqa.selenium.WebDriver.Window;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Selenium_qt {
public static void main(String[] args) throws Exception {
System.out.println("hello selenium !");
// The path to the driver executable must be set by the webdriver.gecko.driver
// system property
// 因为使用了selenium3+Firefox。在selenium3中,使用Firefox,需要添加驱动。
// System.setProperty("webdriver.firefox.marionette","C:\\Program Files
// (x86)\\Mozilla Firefox\\geckodriver.exe");
// System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla
// Firefox\\firefox.exe");
// System.setProperty("webdriver.chrome.driver","C:\\Program Files
// (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
// WebDriver driver = new FirefoxDriver();
// driver.manage().window().maximize();
WebDriver driver = new ChromeDriver();
// driver.get("http://www.baidu.com/");
Navigation navigation = driver.navigate();
navigation.to("http://www.dev.qi-e.tv/");
navigation.refresh();
WebElement live = driver.findElement(By.xpath("//*[@id=\"header\"]/div[2]/div/ul/li[2]/a"));
live.click();
// 停留2秒
Thread.sleep(2000);
WebElement login = driver.findElement(By.xpath("//*[@id=\"header\"]/div[2]/div/div[2]/div[5]/a/span"));
login.click();
Thread.sleep(2000);
WebElement login_from_password = driver.findElement(By.xpath("/html/body/div[7]/div[4]/a[2]/span[1]"));
login_from_password.click();
WebElement username = driver.findElement(By.xpath("//*[@id=\"InputUserName\"]"));
username.sendKeys("北京理工大学3X3");
WebElement password = driver.findElement(By.xpath("//*[@id=\"InputPassword\"]"));
password.sendKeys("123456");
// 停留10秒,验证码
Thread.sleep(10000);
password.submit();
Thread.sleep(2000);
// 点头像进入个人中心
WebElement member = driver.findElement(By.xpath("//*[@id=\"header\"]/div[2]/div/div[2]/div[6]"));
member.click();
Thread.sleep(2000);
// xin biaoqian ye dakai
driver = currentWindow(driver);
// guess
WebElement guess = driver.findElement(By.xpath("/html/body/div[3]/div[1]/ul/li[13]"));
guess.click();
Thread.sleep(2000);
WebElement set_guess = driver.findElement(By.xpath("/html/body/div[3]/div[2]/div[3]/div/div/div[1]/div"));
set_guess.click();
// guess_set
WebElement subject_title = driver
.findElement(By.name("subject_title"));
subject_title.sendKeys("timumingcheng");
WebElement option_name1 = driver
.findElement(By.name("option_name1"));
option_name1.sendKeys("123");
WebElement option_name2 = driver
.findElement(By.name("option_name2"));
option_name2.sendKeys("456");
WebElement duration = driver
.findElement(By.name("duration"));
duration.sendKeys("59");
WebElement ok = driver.findElement(By.xpath("//button[text()='发起']"));
ok.click();
Thread.sleep(1000);
WebElement ok_set = driver.findElement(By.xpath("//button[text()='确定']"));
ok_set.click();
System.out.println("wb--------------------");
}
public static WebDriver currentWindow(WebDriver driver) {
String currentWindow = driver.getWindowHandle(); // 获取当前窗口的句柄
Set<String> handles = driver.getWindowHandles(); // 获取所有窗口的句柄
Iterator<String> it = handles.iterator();
// WebDriver newDriver=null;
while (it.hasNext()) {
String handle = it.next();
if (!handle.equals(currentWindow)) {
driver = driver.switchTo().window(handle); // 切换到新的句柄所指向的窗口
break;
}
}
return driver;
}
}
//查找页面元素有很多方法,用name,id,class,xpath,都行,要灵活选择。