Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍
1. 啟動(dòng)瀏覽器
前邊有詳細(xì)介紹啟動(dòng)三種瀏覽器的方式(IE、Chrome、Firefox);
private WebDriver driver = null;
private String chromeDriverDir = "D:\\workspace\\A_Test\\resource\\chromedriver.exe";
/**
* 打開谷歌瀏覽器;
*/
public void openChromeBrowser(){
System.setProperty("webdriver.chrome.driver", chromeDriverDir);
driver = new ChromeDriver();
}
2.訪問網(wǎng)頁地址
方式一:
/**
* 訪問網(wǎng)頁地址方式一;
*/
public void visitURL1(){
String baseUrl = "http://www.baidu.com/";
driver.get(baseUrl);
}
方式二:
/**
* 訪問網(wǎng)頁地址方法二;
*/
public void visitURL2(){
String baseUrl = "http://www.sogou.com/";
driver.navigate().to(baseUrl);
}
3. 模擬后退功能
/**
* 模擬后退功能;
*/
public void visitRecentUrl(){
String url1 = "http://www.baidu.com/";
String url2 = "http://www.sogou.com/";
driver.navigate().to(url1); //先訪問百度
driver.navigate().to(url2); //再訪問搜狗
driver.navigate().back(); //返回上一次返回的百度頁面;
}
4.模擬前進(jìn)功能
/**
* 模擬前進(jìn)功能;
*/
public void visitNextUrl(){
String url1 = "http://www.baidu.com/";
String url2 = "http://www.sogou.com/";
driver.navigate().to(url1); //先訪問百度
driver.navigate().to(url2); //再訪問搜狗
driver.navigate().back(); //返回上一次返回的百度頁面;
driver.navigate().forward(); //從百度頁面跳轉(zhuǎn)的搜狗頁面;
}
5. 刷新頁面
/**
* 刷新當(dāng)前頁面;
*/
public void refreshCurrentPage(){
String baseUrl = "http://www.sogou.com/";
driver.navigate().to(baseUrl);
driver.navigate().refresh(); //刷新當(dāng)前頁面
}
6.窗口最大化
/**
* 窗口最大化
*/
public void maxWindows(){
String baseUrl = "http://www.sogou.com/";
driver.navigate().to(baseUrl);
driver.manage().window().maximize(); //窗口最大化;
}
7.獲取當(dāng)前頁面的title屬性值
/**
* 獲取當(dāng)前頁面的title屬性值;
*/
public void getTitle(){
String url = "http://www.baidu.com/";
driver.navigate().to(url);
String title = driver.getTitle(); //獲取當(dāng)前頁面的title值;
System.out.println(title);
}
QQ圖片20161117210058.jpg1117x456 68.6 KB
8.獲取當(dāng)親頁面的源代碼
/**
* 獲取當(dāng)前頁面的源代碼;
*/
public void getPageSource(){
String url = "http://www.baidu.com/";
driver.navigate().to(url);
String source = driver.getPageSource(); //獲取當(dāng)前頁面的源代碼;
System.out.println(source);
}
9. 獲取當(dāng)前頁面的網(wǎng)址
/**
* 獲取當(dāng)前頁面的網(wǎng)址;
*/
public void getCurrentUrl(){
String url = "http://www.baidu.com/";
driver.navigate().to(url);
String currentUrl = driver.getCurrentUrl(); //獲取當(dāng)前頁面的網(wǎng)址;
System.out.println(currentUrl);
}
10. 在輸入框中清空原有的文字內(nèi)容
/**
* 清空輸入框原有的文字內(nèi)容
*/
public void clearText(){
//獲取輸入框?qū)ο?#xff1b;
WebElement inputText = driver.findElement(By.id("kw"));
//清空輸入框中的默認(rèn)文字
inputText.clear();
}
11.在輸入框中輸入指定文本內(nèi)容
/**
* 在輸入框中輸入指定文本
*/
public void inputText(){
//獲取輸入框?qū)ο?#xff1b;
WebElement inputText = driver.findElement(By.id("kw"));
//編輯需要輸入的文本;
String text = "UI 自動(dòng)化";
//在輸入框中的輸入文本
inputText.sendKeys(text); //sendKeys()方法,是用于輸入;
}
12.單擊按鈕
/**
* 單擊按鈕
*/
public void clickButton(){
//獲取按鈕對象;
WebElement button = driver.findElement(By.id("su"));
//判斷按鈕是否可用
boolean isEnabled = button.isEnabled();
//如果按鈕可以點(diǎn)擊,就點(diǎn)擊按鈕;
if(isEnabled){
button.click();
}
}
13.雙擊元素
/**
* 雙擊某個(gè)元素
*/
public void doubleClick(){
//獲取輸入框?qū)ο?#xff1b;
WebElement inputText = driver.findElement(By.id("kw"));
//聲明Action對象
Actions action = new Actions(driver);
//使用doubleClick方法,雙擊輸入框;
action.doubleClick(inputText).build().perform();
}
14.右擊元素
/**
* 右擊某個(gè)元素
*/
public void rightClick(){
//獲取輸入框?qū)ο?#xff1b;
WebElement inputText = driver.findElement(By.id("kw"));
//聲明Action對象
Actions action = new Actions(driver);
//使用contextClick方法,右擊輸入框;
action.contextClick(inputText).build().perform();
}
15.操作單選下拉列表
QQ圖片20161117213829.png1077x660 61.5 KB
(1)使用下拉列表的下標(biāo)選擇子選項(xiàng);
/**
* 通過下標(biāo)選擇下拉框的值;
*/
public void operateDropListByIndex(){
//獲取下拉列表元素對象;
WebElement selectElement = driver.findElement(By.id("session_kept"));
//聲明Select對象;
Select select = new Select(selectElement);
//通過子選項(xiàng)的下標(biāo)來選擇:下標(biāo)從0開始
select.selectByIndex(0); //表示選擇第一個(gè)子選項(xiàng):不保存登錄狀態(tài);
}
(2)使用value選擇;
/**
* 通過子選項(xiàng)的value選擇下拉框的值;
*/
public void operateDropListByValue(){
//獲取下拉列表元素對象;
WebElement selectElement = driver.findElement(By.id("session_kept"));
//聲明Select對象;
Select select = new Select(selectElement);
//通過子選項(xiàng)的選項(xiàng)的value值來選擇:
String value = "60" ; //例如:“保存一小時(shí) ” 這個(gè)選項(xiàng)的value值是:60
select.selectByValue(value);
}
(3)通過可見文本選擇;
/**
* 通過子選項(xiàng)的可見文本選擇下拉框的值;
*/
public void operateDropListByVisibleText(){
//獲取下拉列表元素對象;
WebElement selectElement = driver.findElement(By.id("session_kept"));
//聲明Select對象;
Select select = new Select(selectElement);
//通過子選項(xiàng)的選項(xiàng)的value值來選擇:
String visibleText = "保存一天" ; //例如:第6個(gè)選項(xiàng)的 可見文本是:“保存1天 ” ;
select.selectByVisibleText(visibleText);
}
16.操作鏈接
/**
* 點(diǎn)擊鏈接對象;
*/
public void clickLinkText(){
//獲取鏈接元素對象;
WebElement link = driver.findElement(By.linkText("快速注冊"));
//點(diǎn)擊鏈接對象;
link.click();
}
17.操作單選按鈕
/**
* 操作單選框RadioButton
*/
public void clickRadioButton(){
//獲取單選按鈕元素對象;
WebElement radio = driver.findElement(By.id("identity"));
//判斷單選按鈕是否已經(jīng)被選中;
boolean isSelect = radio.isSelected();
//如果沒有選中,就點(diǎn)擊,如果已經(jīng)選中,就不操作;
if(!isSelect){
radio.click();
}
}
18.操作復(fù)選框
/**
* 操作復(fù)選框CheckBox
*/
public void clickCheckBox(){
//獲取復(fù)選框元素對象;
WebElement checkbox = driver.findElement(By.id("checked"));
//判斷復(fù)選框是否已經(jīng)被選中;
boolean isSelect = checkbox.isSelected();
//如果沒有選中,就點(diǎn)擊,如果已經(jīng)選中,就不操作;
if(!isSelect){
checkbox.click();
}
}
我們專注于持續(xù)集成,更多原創(chuàng)請關(guān)注:www.hordehome.com
總結(jié)
以上是生活随笔為你收集整理的Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python执行语句转换成str_pyt
- 下一篇: java美元兑换,(Java实现) 美元