資料來源 : http://seleniumhq.org/

 

說明: 

 selenium 是一個用來處理自動測試的工具,它有一個selenium server 可以掛上測試的腳本來測試,但這邊要介紹的是直接使用 selenium java driver 直接call api的方式來處理。

網址:

http://seleniumhq.org/

 

step 1: 下載 jar (download java driver)

http://seleniumhq.org/download/

 

step 2: 下載 chromeDriver.exe

http://code.google.com/p/chromedriver/downloads/list

 

step 3:  實作(以chrome為例)

import java.util.Arrays;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

public class GmailLogin {

WebDriver driver = null;
DesiredCapabilities capabilities = DesiredCapabilities.chrome();

GmailLogin() {
capabilities.setCapability("chrome.switches",
Arrays.asList("--start-maximized"));
}

public void login(){

System.setProperty("webdriver.chrome.driver", "D:/chromedriver.exe");
driver = new ChromeDriver(capabilities);
WebDriverWait wait = new WebDriverWait(driver, 5);
driver.get("https://accounts.google.com/ServiceLogin?hl=zh-TW&continue=http://www.google.com.tw/");
System.out.println("##start login ");
// Login
wait.until(new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver d) {
System.out.println("## login User and Password!");
WebElement element = driver.findElement(By
.id("Email"));
element.sendKeys("username@gmail.com");
element = driver.findElement(By.id("Passwd"));
element.sendKeys("passowrd");
element = driver.findElement(By.id("signIn"));
element.click();
return true;
}
});

driver.navigate().to("https://mail.google.com/mail");

}

/**
* @param args
*/
public static void main(String[] args) {
GmailLogin gl = new GmailLogin();
gl.login();

}

}

全站熱搜
創作者介紹
創作者 熊爸天下 的頭像
熊爸天下

熊爸天下程式筆記 | 音樂分享

熊爸天下 發表在 痞客邦 留言(0) 人氣()