在Selenium中添加鼠标动作

时间:2018-06-25 18:12:32

标签: selenium

好吧,我已经阅读了以下网站: https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/Actions.html

,我在代码顶部添加了这一行:

import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.Mouse;

但是当我开始输入时,“方法和描述”选项没有出现在Eclipse中。

我正在尝试:

driver.findElement(By.id("test")).clickAndHold();

但是Eclipse中没有选项...我想念什么?

2 个答案:

答案 0 :(得分:3)

需要为Actions类创建对象,然后您才能执行鼠标操作。

步骤:

  1. 需要通过传递驱动程序引用来创建Actions类对象
  2. 所有动作都可以使用Actions类对象生成。
  3. 最后,您可以构建并执行操作。

示例:

WebElement element driver.findElement(By.id("test"));
Actions builder=new Actions(driver);
builder.moveToElement(element).clickAndHold().build().perform();

答案 1 :(得分:1)

面向用户的API,用于模拟复杂的用户手势。使用此类而不是直接使用键盘或鼠标。

是的,如果要模拟鼠标,键盘操作,则必须使用操作类。 请注意,动作是 Selenium 中的,而动作是界面

要使用action类中存在的方法,就像您必须实例化它的任何普通方法一样。

Actions action = new Actions(driver);  
action.click();
action.click(WebElement target)  
action.contextClick()   // right click
action.doubleClick()  
action.dragAndDrop(WebElement source, WebElement target)

还有更多..

请注意,如果您仅模拟一个事件,而这不太可能发生,则必须使用perform()方法,因此,如果您要模拟多个事件,则必须build().perform()

代码:

action.doubleClick().perform();  

action.clickAndHold(WebElement target).release().build().perform();