不同的页面元素具有不同的Actions
1、sendKeys()
适用于具备文本编辑区域的页面元素。常见的使用方式是在文本框中输入字符串。示例代码如下:
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.sendKeys("webdriver");
如果希望在文本框中输入某些特殊字符,如Shift,则需要使用WebDriver中的Keys类。keys是一个数组类,用于模拟多种不同的特殊按键输入。例如,希望输入的字母的大写形式,手工的方式就是按住Shift键的同事输入相应的字母即可。为了使用Keys达到这个效果,示例代码如下:
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.sendkeys(keys.chord(keys.SHIFT,"webdriver"));
2、clear()
适用于具备文本编辑区域的页面元素,作用是清除文本编辑区域中输入的文本信息。
WebElement searchBox = driver.findElement(By.name("q"));
serachBox.clear();
3、submit()
适用于form或者form中的页面元素,作用是提交form到Web服务器端。示例代码如下:
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.submit();
4、isDisplayed()
适用于任意的页面元素,用于判断该元素是否在页面上可见。示例代码如下:
WebElement searchBox = driver.findElement(By.name("btnk"));
System.out.println(searchBox.Displayed());
5、isEnabled()
适用于任意的页面元素,用于判断该元素是否为启用状态。示例代码如下:
WebElement searchButton = driver.findElement(By.name("btnk"));
System.out.println(searchButton.isEnabled());
6、isSelected()
适用于单选按钮、多选按钮,以及选项等页面元素,用于判断某个元素是否被选中。如果在其他页面元素上调用该方法,程序会返回false,示例代码如下:
WebElement searchButton = driver.findElement(By.name("btnk"));
System.out.println(radioButton.isSelected());
7、getAttribute()
适用于任意的页面元素,用于获取当前页面元素的属性。例如GOOGLE页面中的搜索按钮的html代码
<input value="Google Search" jsaction="sf.chk" name="btnk" type="submit">
如果已经通过搜索按钮的name查找到该元素,并且希望获取其value值,则示例代码如下:
WebElement searchButton = driver.findElement(By.name("btnk"));
System.out.println("Value of the bytton is :"+searchButton.getAttribute("value"));
8、getText()
适用于任意的页面元素,用于获取元素上的可见文本内容。如果文本内容为空,则该方法返回空。示例代码如下:
WebElement searchButton = driver.findElement(By.name("btnk"));
System.out.println(searchButton.getText());
9、getTagName()
适用于任意的页面元素,用于获取元素的tag name。例如Google搜索按钮的HTML如下,其中input就是搜索按钮的tag name
<input value="Google Search" jsaction="sf.chk" name="btnk" type="submit">
如果已经通过搜索按钮的name查找到该元素,并且希望获取其tag name值,则示例代码如下:
WebElment searchButton = driver.findElement(By.name("btnk"));
System.out.println(searchButton.getTagName());
10、getCssValue()
适用于任意的页面元素,用于获取当前页面元素的css属性,如cursor、font-family、font-size等,示例代码如下:
WebElement searchButton = driver.findElement(By.name("btnk"));
System.out.println(searchButton.getCssValue("height"));
11、getLocation()
适用于任意的页面元素,用于获取元素在页面中的相对位置,其中坐标系原点位于页面的左上角。该方法的返回值是一个包括(x,y)的坐标信息,示例代码如下
WebElement searchButton = driver.findElement(By.name("btnk"));
System.out.println(searchButton.getLocation());
12、getSize()
适用于任意即可见的页面元素,用于获取元素的宽度和高度信息,其返回值是一个包括(width,height)的长宽组合,示例代码如下:
WebElment searchButton = driver.findElement(By.name("btnk"));
System.out.println(searchButton.getSize());