Selenium提供了一個(gè)強(qiáng)大的用于真實(shí)的模擬用戶交互的一個(gè)類----Actions,這個(gè)類提共了一系列的API供模擬交互:
keyDown : 用于模擬按鍵被按下
keyUp : 用于模擬按鍵松開(kāi)
doubleClick : 用于模擬雙擊
clickAndHold : 用于模擬鼠標(biāo)左鍵點(diǎn)住不放開(kāi)
release : 用于模擬松開(kāi)鼠標(biāo),與clickAndHold相配合
moveToElement : 將鼠標(biāo)移動(dòng)至元素的中間位置
contextClick : 模擬鼠標(biāo)右鍵點(diǎn)擊
dragAndDrop : 拖拽
這里由于測(cè)試頁(yè)面的限制我只舉一個(gè)contextClick的例子:
package org.coderinfo.demo;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.Actions;
public class ActionDemo {
private static final String URL = "http://www.baidu.com";
/**
* @author Coderinfo
* @E-mail coderinfo@163.com
*/
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize(); //大化瀏覽器界面
driver.get(URL); //訪問(wèn)度娘首頁(yè)。
Thread.sleep(2000); //等待頁(yè)面加載
WebElement input = driver.findElement(By.id("kw")); //獲取百度搜索框
Actions ac = new Actions(driver); // 為driver 加載 actions
ac.contextClick(input).perform(); // 在百度搜索框上點(diǎn)擊右鍵
Thread.sleep(10000);
driver.quit();
}
}