有些场景不适合点击或进行某些操作,可运用action类模拟鼠标操作。在操作一个页面元素时有时需要一连串的动作来配合的时候,可以使用action来完成。
Actions actions= new Actions(webDriver);
1.单击鼠标左键
clickAndHold()
2.双击鼠标左键
doubleClick()
3.释放鼠标左键
release()
4.移动鼠标指针
moveToElement()
5.右键单击
contextClick()
6.拖曳元素
dragAndDrop()
7.执行操作
perform()
链式调用:
actions.clickAndHold(onElement).moveToElement(toElement).release().build().perform();
案例:
webDriver.get("http://www.treejs.cn/v3/demo/cn/exedit/drag.html");
WebElement webElement1=webDriver.findElement(By.id("treeDemo_4_span"));
WebElement webElement2=webDriver.findElement(By.id("treeDemo_3_span"));
Actions actions= new Actions(webDriver);
//两种拖曳方式
actions.clickAndHold(webElement1).moveToElement(webElement2).release().perform();
actions.dragAndDrop(webElement1,webElement2).release().perform();