TA的每日心情 | 1720761397 |
---|
签到天数: 1 天 连续签到: 1 天
|
如何把一个元素拖放到另一个元素里面的时候,用到了一个Actions类。这一节主要分析一下这个Actions类。
这个actions类,主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作。对于这些操作,使用perform()方法进行执行。
actions类可以完成单一的操作,也可以完成几个操作的组合。
单一的操作
单一的操作是指鼠标和键盘的一个操作。如鼠标左键按下、弹起或输入一个字符串等。
前面涉及到鼠标键盘操作的一些方法,都可以使用actions类中的方法实现,比如:click,sendkeys。
CODE:
- <font size="4">WebElement element = dr.findElement(By.id("test"));
- WebElement element1 = dr.findElement(By.id("test1"));
- element.sendKeys("test");
- element1.click;</font>
复制代码 用Actions类就可以这样实现:
CODE:
- <font size="4">//新建一个action
- Actions action=new Actions(driver);
- //操作
- WebElement element=dr.findElement(By.id("test"));
- WebElement element1=dr.findElement(By.id("su"));
- action.sendKeys(element,"test").perform();
- action.moveToElement(element1);
- action.click().perform();</font>
复制代码 看起来用Actions类实现click和sendKeys有点烦索
组合操作
组合操作就是几个动作连在一起进行操作。如对一个元素的拖放。
CODE:
- <font size="4">(new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform();<span style="background-color: rgb(255, 255, 255);"> </span></font>
复制代码 可以直接调用dragAndDrip()方法,也可以像下面濱示的一样把几个操作放一起实现
CODE:
- <font size="4">Action dragAndDrop = builder.clickAndHold(someElement)
- .moveToElement(otherElement)
- .release(otherElement)
- .build().perform();</font>
复制代码 其他鼠标或键盘操作方法可以具体看一下API里面的org.openqa.selenium.interactions.Actions类
|
|