我们定位到元素之后80%的目的都是要操作这个 web元素,所以Web元素的操作也是非常重要的,这里介绍WebDriver几种主要的操作方法:
click :点击当前的元素
sendKeys :在当前的web元素上模拟键盘的操作
clear : 清除当前元素的内容,前提是当前元素可以接收内容的话
下面直接上代码了:
package org.coderinfo.demo; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class OperatElement { private static final String URL = "file:///C:/user/Desktop/Selenium/operate.html"; public static void main(String[] args) { WebDriver driver = new ChromeDriver(); // create a chrome driver driver.manage().window().maximize(); // max size the chrome window driver.get(URL); // open URL with the chrome browser try { Thread.sleep(2000); // wait for page loading } catch (InterruptedException e) { e.printStackTrace(); } driver.findElement(By.id("UserName")).sendKeys("coderinfo"); // Get input element and input some words try { Thread.sleep(3000); //wait 3s } catch (InterruptedException e) { e.printStackTrace(); } driver.findElement(By.id("UserName")).clear(); // Get input element and clear it's content try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } driver.findElement(By.id("UserName")).sendKeys("coderinfo"); // Get input element and input some words driver.findElement(By.id("UserEmail")).sendKeys("coderinfo"); // Get input element and input some words try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } driver.findElement(By.xpath("//input[@type='reset']")).click(); // Get reset button and click it try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } driver.quit(); // close webdriver } } |
这里测试页面operate.html的源码:
<!DOCTYPE html> <html> <head> <title>Operate Element</title> </head> <body> <h3>Operate Element</h3> <form class="form-h"> <input type="text" class="in" id="UserName" /><br /> <input type="text" class="in" id="UserEmail" /><br /> <input type="submit" class="in" /> <input type="reset" class="in" /> </form> </body> </html> |
最新内容请见作者的GitHub页:http://qaseven.github.io/