1.元素定位
ID定位元素:
findElement(By.id(“”));
通過元素的名稱定位元素:
findElement(By.name(“”));
通過元素的html中的位置定位元素:
findElement(By.xpath(“”));
通過元素的標簽名稱定位元素:
findElement(By.tagName(“”));
通過元素的鏈接名稱定位元素:
findElement(By.linkText(“”));
通過元素的類名定位元素:
findElement(By.className(“”));
通過元素的css定位元素:
findElement(By.cssSelector(“”));
通過元素的部分鏈接名稱定位元素:
findElement(By.partialLinkText(“”));
2.元素操作
driver.findElement(By.id(element)).click();
driver.findElement(By.id(element)).sendKeys(“123456”);
WebElement text1 = driver.findElement(By.name("password"));
text1.sendKeys("123456");
3,頁面操作
打開網頁:driver.get("https://www.baidu.com");
關閉網頁:driver.close();
在輸入框中輸入內容:text.sendKeys(“”);
清空輸入框中的內容:text.clear();
獲取輸入框中的內容:text.getText();
選擇下拉框中的元素:
Select select = new Select(wd.findElement(By.id("select")));
切換到某個frame:
driver.switchTo().frame("");
從一個frame切換到另一個frame:
driver.switchTo().frame("");
切換到某個window:
driver.switchTo().window("windowName");
返回父iframe:(一般在跳轉frame之前都寫上這個語句)
driver.switchTo().defaultContent();
刷新頁面:driver.navigate().refresh();
頁面前進后退:
driver.navigate().forward();
driver.navigate().back();
3,輸入框
element.sendKeys(“test”);//在輸入框中輸入內容:
element.clear(); //將輸入框清空
element.getText(); //獲取輸入框的文本內容:
4.下拉選擇框
Select select = new Select(driver.findElement(By.id("select")));
select.selectByVisibleText(“A”);
select.selectByValue(“1”);
select.deselectAll();
select.deselectByValue(“1”);
select.deselectByVisibleText(“A”);
select.getAllSelectedOptions();
select.getFirstSelectedOption();
5.單選框
WebElement radio=driver.findElement(By.id("BookMode"));
radio.click(); //選擇某個單選項
radio.clear(); //清空某個單選項
radio.isSelected(); //判斷某個單選項是否已經被選擇
6.多選框
WebElement checkbox = driver.findElement(By.id("myCheckbox."));
checkbox.click();
checkbox.clear();
checkbox.isSelected();
checkbox.isEnabled();
6.彈出對話框
Alert alert = driver.switchTo().alert();
alert.accept(); //確定
alert.dismiss(); //取消
alert.getText(); //獲取文本
7.表單
WebElement approve = driver.findElement(By.id("approve"));
approve.click();
approve.submit();//只適合於表單的提交
8.上傳文件
上傳文件的元素操作:
WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));
String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
adFileUpload.sendKeys(filePath);
9.window和iframe的切換
driver.switchTo().defaultContent(); //返回到最頂層的frame/iframe
driver.switchTo().frame("leftFrame"); //切換到某個frame:
driver.switchTo().window("windowName"); //切換到某個window
10.調用js
Web driver對Java Script的調用是通過JavascriptExecutor來實現的,例如:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("JS腳本");
11.超時設置
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //識別元素時的超時時間
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); //頁面加載時的超時時間
driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS); //異步腳本的超時時間
1 import org.openqa.selenium.By; 2 import org.openqa.selenium.WebDriver; 3 import org.openqa.selenium.chrome.ChromeDriver; 4 5 public class rz_test2 { 6 public WebDriver driver; 7 8 public void InitDriver3(){ 9 System.setProperty("webdriver.chrome.driver","D:\\java\\chromedriver\\chromedriver.exe"); 10 WebDriver driver = new ChromeDriver(); 11 driver.get("xxxxxxxxx"); 12 driver.manage().window().maximize(); 13 14 } 15 16 public void InputBox3(){ 17 driver.findElement(By.name("loginname")).clear(); 18 driver.findElement(By.name("loginname")).sendKeys("admin"); 19 try { 20 Thread.sleep(2000); 21 } catch (InterruptedException e) { 22 // TODO Auto-generated catch block 23 e.printStackTrace(); 24 } 25 driver.findElement(By.name("loginname")).clear(); 26 String s = driver.findElement(By.name("loginname")).getAttribute("placeholder"); 27 System.out.print(s); 28 29 } 30 31 public static void main(String[] args) { 32 // TODO Auto-generated method stub 33 rz_test2 action2 = new rz_test2(); 34 action2.InitDriver3(); 35 action2.InputBox3(); 36 37 } 38 39 }