本篇介绍我们如何利用selenium 来操作各种页面元素
链接(link)
<div> <p>链接 link</p> <a href="www.cnblogs.com/tankxiao">小坦克</a> </div>
链接的操作
// 找到链接元素 WebElement link1 = driver.findElement(By.linkText("小坦克")); WebElement link11 = driver.findElement(By.partialLinkText("坦克")); // 点击链接 link1.click();
输入框 textbox
<div> <p>输入框 testbox</p> <input type="text" id="usernameid" value="username" /> </div>
输入框的操作
// 找到元素 WebElement element = driver.findElement(By.id("usernameid")); // 在输入框中输入内容 element.sendKeys("test111111"); // 清空输入框 element.clear(); // 获取输入框的内容 element.getAttribute("value");
按钮(Button)
<div> <p>按钮 button</p> <input type="button" value="添加" id="proAddItem_0" /> </div>
找到按钮元素
//找到按钮元素 String xpath="//input[@value='添加']"; WebElement addButton = driver.findElement(By.xpath(xpath));
// 点击按钮 addButton.click();
// 判断按钮是否enable addButton.isEnabled();
下拉选择框(Select)
<div> <p>下拉选择框框 Select</p> <select id="proAddItem_kind" name="kind"> <option value="1">电脑硬件</option> <option value="2">房产</option> <option value="18">种类AA</option> <option value="19">种类BB</option> <option value="20">种类BB</option> <option value="21">种类CC</option> </select> </div>
下拉选择框的操作
// 找到元素
Select select = new Select(driver.findElement(By.id("proAddItem_kind")));
// 选择对应的选择项, index 从0开始的 select.selectByIndex(2); select.selectByValue("18"); select.selectByVisibleText("种类AA");
// 获取所有的选项
List<WebElement> options = select.getOptions();
for (WebElement webElement : options) {
System.out.println(webElement.getText());
}
单选按钮(Radio Button)
<div> <p>单选项 Radio Button</p> <input type="radio" value="Apple" name="fruit>" />Apple <input type="radio" value="Pear" name="fruit>" />Pear <input type="radio" value="Banana" name="fruit>" />Banana <input type="radio" value="Orange" name="fruit>" />Orange </div>
单选项元素的操作
// 找到单选框元素 String xpath="//input[@type='radio'][@value='Apple']"; WebElement apple = driver.findElement(By.xpath(xpath));
//选择某个单选框 apple.click();
//判断某个单选框是否已经被选择 boolean isAppleSelect = apple.isSelected();
// 获取元素属性 apple.getAttribute("value");
多选框 check box
<div> <p>多选项 checkbox</p> <input type="checkbox" value="Apple" name="fruit>" />Apple <input type="checkbox" value="Pear" name="fruit>" />Pear <input type="checkbox" value="Banana" name="fruit>" />Banana <input type="checkbox" value="Orange" name="fruit>" />Orange </div>
多选框的操作和单选框一模一样的, 这里就不再讲了