selenium元素的定位以及操做css
1. 元素的定位html
Seleniumapp
自動化,咱們須要作的最基本的事情就是在頁面找到元素並經過腳本程異步
序去操做這個元素,實現模擬人工操做。咱們有多種定位元素的方式能夠選擇: post
經過元素的spa
ID定位元素:orm
findElement(By.id(element)); htm
經過元素的名稱定位元素:blog
findElement(By.name(element)); ip
經過元素的html中的位置定位元素:
findElement(By.xpath(element));
經過元素的標籤名稱定位元素:
findElement(By.tagName(element));
經過元素的連接名稱定位元素:
findElement(By.linkText(element));
經過元素的類名定位元素:
findElement(By.className(element));
經過元素的css定位元素:
findElement(By.cssSelector(element));
經過元素的部分連接名稱定位元素:
findElement(By.partialLinkText(element));
2. 元素的操做
不一樣的元素咱們進行不一樣的操做,按鈕的點擊、輸入框的字符輸入、或者是元素的內
容獲取,不一樣的元素咱們操做的方式不一。
對ID爲element的元素進行點擊操做:
driver.findElement(By.id(element)).click();
對ID爲element的元素進行發送字符操做:
這裏只舉用的最多且最簡單的的兩例元素的操做,
還有的是先獲取元素後,再單獨操做
WebElement text1 = driver.findElement(By.name("password"));
text1.sendKeys("123456");
3.頁面操做
模擬鼠標點擊:driver.click();
打開網頁: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();
懸停鼠標:
WebElement element = driver.findElement(By.id("passwd-id"));
Select select = new Select(driver.findElement(By.id("select")));
WebElement radio=driver.findElement(By.id("BookMode"));
WebElement checkbox = driver.findElement(By.id("myCheckbox."));
WebElement btn= driver.findElement(By.id("save"));
Alert alert = driver.switchTo().alert();
Form中的元素的操做和其它的元素操做同樣,對元素操做完成後對錶單的提交能夠:
WebElement approve = driver.findElement(By.id("approve"));
approve.click();
或
approve.submit();//只適合於表單的提交
上傳文件的元素操做:
WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));
String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
adFileUpload.sendKeys(filePath);
Web driver對Java Script的調用是經過JavascriptExecutor來實現的,例如:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("JS腳本");
WebDriver driver = new FirefoxDriver();