我们定位到元素之后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>