selenium自动化测试常常用到键盘操作,一下是键盘操作的详细操作,和部分代码。截图来自于虫师的自动化相关书籍。
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
ChromeOptions Options = new ChromeOptions();
Options.addArguments("user-data-dir=C:\Users\happy\AppData\Local\Google\Chrome\User Data");
WebDriver driver = new ChromeDriver(Options);
try {
driver.get("https://www.baidu.com");
WebElement target = driver.findElement(By.id("kw"));
target.sendKeys("我是一个自动化脚本");
// 在百度文本框中输入信息
Thread.sleep(3000);
target.sendKeys(Keys.BACK_SPACE);
// 删除后一个字符
Thread.sleep(3000);
target.clear();
// 清除文本框中的内容
Thread.sleep(3000);
target.sendKeys(Keys.SPACE);
// 输入空格
Thread.sleep(3000);
target.sendKeys("我是一个自动化脚本");
// 再次输入
Thread.sleep(3000);
target.sendKeys(Keys.CONTROL, "a");
// 全选
Thread.sleep(3000);
target.sendKeys(Keys.CONTROL, "x");
// 剪切
Thread.sleep(3000);
target.sendKeys(Keys.CONTROL, "v");
// 粘贴
Thread.sleep(3000);
target.sendKeys(Keys.ENTER);
// 点击回车键。一般用于登录场景
Thread.sleep(5000);
} finally {
try {
driver.close();
Runtime.getRuntime().exec("taskkill /F /im " + "chromedriver.exe");
Runtime.getRuntime().exec("taskkill /F /im " + "chrome.exe");
// 结束进程。以上是用于在发生异常时结束chromedriver进程,避免chromedriver占用内存资源。close(),和quit()方法有时候是无法结束chromedriver进程的。
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}