参考:鼠标点击事件(Selenium)

时间:2022-01-13 14:34:02

1、鼠标右键点击操作:
Actions action = new Actions(driver) ;
action.contextClick(driver.findElement(By.xpath(xpath))) ;

注:driver为一个WebDriver的实例,xpath为一个元素的xpath字符串,在本文中一律采用xpath的方式定位元素

2、鼠标左键双击操作:
Actions action = new Actions(driver) ;
action.doubleClick(driver.findElement(By.xpath(xpath))) ;

3、鼠标左键按下操作:
Actions action = new Actions(driver) ;
action.clickAndHold(driver.findElement(By.xpath(xpath))) ;

4、鼠标左键抬起操作:
Actions action = new Actions(driver) ;
action.release(driver.findElement(By.xpath(xpath))) ;

5、鼠标移动到元素上操作:
Actions action = new Actions(driver) ;
action.moveToElement(driver.findElement(By.xpath(xpath))) ;

6、组合的鼠标操作(将目标元素拖拽到指定的元素上):
Actions action = new Actions(driver) ;
action.dragAndDrop(driver.findElement(By.xpath(xpath)),driver.findElement(By.xpath(xpath))) ;

7、组合的鼠标操作(将目标元素拖拽到指定的区域里):
Actions action = new Actions(driver) ;
action.dragAndDrop(driver.findElement(By.xpath(xpath)),xOffset,yOffset) ;

8、键盘的按下操作:
Actions action = new Actions(driver) ;
action.keyDown(driver.findElement(getBy()),key) ;注:key 为一个Keys的实例,实例化一个F1的按键则为Keys.F1

9、按钮松开操作:
Actions action = new Actions(driver) ;
action.keyUp(driver.findElement(getBy()),key) ;

WebElement elementToRightClick = driver.findElement(By.id("gbqfba"));
Actions clicker = new Actions(driver);
clicker.contextClick(elementToRightClick).perform();

webdriver下模拟键盘操作:
driver.findElement(By.xpath("//div[2]/div/div/div/div/div/div[2]/fieldset/div/div/div/div/div[2]/input")).sendKeys(Keys.F11);