selenium webdriver 如何利用Actions類模擬鼠標和鍵盤的操作

如何把一個元素拖放到另一個元素里面 的時候,用到了一個Actions類。這一節主要分析一下這個Actions類。
這個actions類,主要定義了一些模擬用戶的鼠標mouse,鍵盤keyboard操作。對于這些操作,使用perform()方法進行執行。
actions類可以完成單一的操作,也可以完成幾個操作的組合。

單一的操作
單一的操作是指鼠標和鍵盤的一個操作。如鼠標左鍵按下、彈起或輸入一個字符串等。
前面涉及到鼠標鍵盤操作的一些方法,都可以使用actions類中的方法實現,比如:click,sendkeys。

WebElement  element = dr.findElement(By.id("test"));    
 WebElement  element1 = dr.findElement(By.id("test1"));    
element.sendKeys("test");  
element1.click;  

用Actions類就可以這樣實現:

//新建一個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();  

看起來用Actions類實現click和sendKeys有點煩索組合操作
組合操作就是幾個動作連在一起進行操作。如對一個元素的拖放。
(new Actions(dr)).dragAndDrop(dr.findElement(By.id(item)), target).perform();
可以直接調用dragAndDrip()方法,也可以像下面濱示的一樣把幾個操作放一起實現

Action dragAndDrop = builder.clickAndHold(someElement)  
       .moveToElement(otherElement)  
       .release(otherElement)  
       .build().perform();  

其他鼠標或鍵盤操作方法可以具體看一下API里面的org.openqa.selenium.interactions.Actions類

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容