鼠标操作
在WebDriver中,将这些关于鼠标操作的方法封装在ActionChains类提供
- 鼠标左击click()
WebDriver driver = new ChromeDriver();
driver.get("https://www.baidu.com");
Actions action = new Actions(driver);
//获取元素
WebElement linkText = driver.findElement(By.linkText("新闻"));
//将元素传给Actions对象并执行左击操作
//注意一定要执行perform()进行提交!!!
action.click(linkText ).perform();
- 鼠标右击contextClick()
......
action.contextClick(linkText ).perform();
- 鼠标双击doubleClick()
操作同上即可 - 鼠标释放release()
- 鼠标移动moveToElement()
将鼠标移动到指定元素的位置
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/");
Actions action = new Actions(driver);
WebElement text = driver.findElement(By.linkText("设置"));
action.moveToElement(text ).perform();
- 鼠标悬停clickAndHold()
鼠标悬停在指定元素位置,即点击但不释放
action.clickAndHold(element) 相当于 action.moveToElement(element).clickAndHold()
用一段代码来解释
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/");
Actions action = new Actions(driver);
WebElement text = driver.findElement(By.linkText("新闻"));
//将鼠标悬停在【新闻】元素上,处于点击但未释放状态
action.clickAndHold(text ).perform();
Thread.sleep(2000);
//将鼠标释放
action.release().perform();
- 鼠标拖拽dragAndDrop()
action.dragAndDrop(source, target)相当于action.clickAndHold(source).moveToElement(target)
键盘操作
在WebDriver中,将这些关于键盘操作的方法封装在Keys类提供,另外,**sendKeys()**不仅可以模拟键盘输入,还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等
操作方法 | 操作说明 |
---|---|
sendKeys(Keys.BACK_SPACE) | 回格键(BackSpace) |
sendKeys(Keys.SPACE) | 空格键(Space) |
sendKeys(Keys.TAB) | 制表键(Tab) |
sendKeys(Keys.ESCAPE) | 回退键(Esc) |
sendKeys(Keys.ENTER) | 回退键(Enter) |
sendKeys(Keys.CONTROL,‘a’) | 全选(Ctrl+A) |
sendKeys(Keys.CONTROL,‘c’) | 复制(Ctrl+C) |
sendKeys(Keys.CONTROL,‘x’) | 剪切(Ctrl+X) |
sendKeys(Keys.CONTROL,‘v’) | 粘贴(Ctrl+V) |
sendKeys(Keys.F1) | 键盘F1 |