selenium通过命令进行驱动,其中一种风格就是action(动作)。actions命令一般用于操作应用程序的状态,通过“点击”和“选择”的方式进行工作。webdriver继承了selenium中的actions类,这个actions类中,主要是模拟用户的鼠标mouse,键盘keyboard操作。对于这些操作,使用perform()方法进行执行。
对于前面说过的一些方法使用,涉及到鼠标键盘操作的,都可以使用actions类中的方法实现,比如:click,sendkeys。
Webdriver driver=new InternetExplorerDriver();
driver.get("http://www.baidu.com");
//新建一个action
Actions action=new Actions(driver);
//找到web元素:输入框,搜索按钮
WebElement inputWindow=driver.findElement(By.id("kw"));
WebElement searchButton=driver.findElement(By.id("su"));
action.sendKeys(inputWindow,"周韦彤").perform();
action.moveToElement(searchButton);
action.click().perform();
//上面的两条语句也可以这么写:action.click(serchButton)).perform();
在今天使用中,我发现Keys.ENTER模拟回车不生效,然后我就换成了Keys.RETURN就生效了,不知道原因是什么,以后再研究
当然,鼠标键盘的操作很多,像鼠标拖拽clickAndHold(),按键按下keysDown(),按键抬起keysUp()等,都是模拟鼠标键盘的操作,当然,具体的用法还得去看API。