其实光看字面上的理解sendKeys这个api感觉只有输入字符这一个功能,其实这样理解是错误的其实这个api的真正作用是模拟键盘的操作(包含了输入字符),不过输入字符是其主要的功能,下面介绍一下其他的用法:
这里直接上代码了
package org.coderinfo.demo;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class ApiSendKeys {
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);
} catch (InterruptedException e) {
e.printStackTrace();
}
driver.findElement(By.id("UserName")).sendKeys(Keys.chord(Keys.CONTROL + "a")); // Use sendKeys to select all the content
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
driver.findElement(By.id("UserName")).sendKeys(Keys.chord(Keys.CONTROL + "x")); // Use sendKeys to cut the content
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
driver.findElement(By.id("UserEmail")).sendKeys(Keys.chord(Keys.CONTROL + "v")); // Use sendKeys to copy the content
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
driver.quit(); // close webdriver
}
}