简介
本文主要简介如何使用java代码利用Selenium 控制浏览器中需要用到的键盘操作。
键盘控制
webdriver 中 Keys 类几乎提供了键盘上的所有按键方法,我们可以使用 send_keys + Keys 实现输出键盘上的组合按键如 “Ctrl + C”、“Ctrl + V” 等。
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class SeleniumDemo {
private final static String webDriver = "webdriver.chrome.driver";
private final static String webDriverPath ="E:\\chromedriver\\chromedriver.exe";
public static void main(String[] args) throws InterruptedException {
System.setProperty(webDriver, webDriverPath);
WebDriver driver= new ChromeDriver();
//有道翻译页面
driver.get("https://fanyi.youdao.com/index.html#/");
WebElement element=driver.findElement(By.id("js_fanyi_input"));
//输入账户名
element.sendKeys("admin");
// 模拟回车键进行跳转(输入内容后)
element.sendKeys(Keys.ENTER);
//Ctrl + A 全选输入框中内容
element.sendKeys(Keys.CONTROL, "A");
//Ctrl + C 复制输入框中内容
element.sendKeys(Keys.CONTROL, "C");
//Ctrl + V 粘贴输入框中内容(第一粘贴会把原来的内容替换)
element.sendKeys(Keys.CONTROL, "V");
//Ctrl + V 粘贴输入框中内容
element.sendKeys(Keys.CONTROL, "V");
//Ctrl + V 粘贴输入框中内容
element.sendKeys(Keys.CONTROL, "V");
}
}
其他常见键盘操作:
操作 | 描述 |
---|---|
Keys.F1 | F1键 |
Keys.SPACE | 空格 |
Keys.TAB | Tab键 |
Keys.ESCAPE | ESC键 |
Keys.ALT | Alt键 |
Keys.SHIFT | Shift键 |
Keys.ARROW_DOWN | 向下箭头 |
Keys.ARROW_LEFT | 向左箭头 |
Keys.ARROW_RIGHT | 向右箭头 |
Keys.ARROW_UP | 向上箭头 |
Keys.BACK_SPACE | Backspace建 |
组合键使用
//组合键
element.sendKeys(Keys.CONTROL,Keys.SHIFT, "A");
高频使用
//输入文本
element.sendKeys("洛阳泰山");
补充知识
键盘操作除了使用Selenium 控制键盘外还可以使用 java robot (java.awt包下)的控制键盘结合使用。
使用示例
通过 Robot 类实现发送键盘组合键
@Parameters("baseUrl1")
@Test
public void RobotCtrlACV(String baseUrl1) throws InterruptedException, AWTException {
driver.get(baseUrl1 + "/");
WebElement inputBox = driver.findElement(By.xpath("/
@Parameters("baseUrl1")
@Test
public void ActionsCtrlACV(String baseUrl1) throws InterruptedException, AWTException {
driver.get(baseUrl1 + "/");
WebElement inputBox = driver.findElement(By.xpath("//*[@id=\"query\"]"));
inputBox.clear();
inputBox.sendKeys("搜狗");
Thread.sleep(2000);
// 定义一个 Actions 对象
Actions action = new Actions(driver);
// 模拟 全选 Ctrl+A
action.keyDown(Keys.CONTROL); // 按下 Ctrl 键
action.sendKeys(Keys.chord("A")); // 按下字母键,这里大小写均可
action.keyUp(Keys.CONTROL); // 释放 Ctrl 键
// 模拟 复制 Ctrl+C
action.keyDown(Keys.CONTROL); // 按下 Ctrl 键
action.sendKeys(Keys.chord("c")); // 按下字母键,这里大小写均可
action.keyUp(Keys.CONTROL); // 释放 Ctrl 键
// 这一步,必不可少,作用是使得以上组合键生效
action.build().perform();
Thread.sleep(2000);
driver.navigate().to("http://www.baidu.com" + "/");
inputBox = driver.findElement(By.xpath("//*[@id=\"kw\"]"));
inputBox.clear();
// 模拟 粘贴 Ctrl+V
action.keyDown(Keys.CONTROL); // 按下 Ctrl 键
action.sendKeys(Keys.chord("v")); // 按下字母键,这里大小写均可
action.keyUp(Keys.CONTROL); // 释放 Ctrl 键
// 这一步,必不可少,作用是使得以上组合键生效
action.build().perform();
Thread.sleep(2000);
}
到此这篇关于详解Java Selenium中的键盘控制操作的文章就介绍到这了,更多相关Java Selenium键盘内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!