1.输入框Text和按钮Button
程序6-13演示效果:首先打开百度首页,在输入框输入“医药库”,停留2秒后然后打印输入框元素的值,然后再停留2秒后点击搜索按钮并输出搜索按钮是否被点击,再次停留2秒后清空输入框。
//程序6-13
public class TextOperation {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = WebDriverUtils.getWebDriver();
driver.get("http://www.baidu.com");
WebElement searchBox = driver.findElement(By.id("kw"));
//在输入框输入文本
searchBox.sendKeys("医药库");
Thread.sleep(2000);
//打印输入框内容
System.out.println(searchBox.getAttribute("value"));
Thread.sleep(2000);
//点击搜索按钮
WebElement searchButton = driver.findElement(By.id("su"));
searchButton.submit();
//输出按钮是否被点击
System.out.println(searchButton.isEnabled());
Thread.sleep(2000);
//清空输入框
searchBox.clear();
Thread.sleep(2000);
driver.quit();
}
}
2.单选按钮Radio和多选框CheckBox
程序6-14演示效果:打开药品审评中心化药审评序列公示页面,点击专业按钮,停留2秒后分别输出专业按钮是否被选择以及按钮的“value”属性值。专业按钮的HTML代码如下所示。
<input type="radio" name="branchType" value="专业" checked="checked">
//程序6-14
public class RadioOperation {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = WebDriverUtils.getWebDriver();
driver.get("http://www.cde.org.cn/transparent.do?method=spxlList&tasktype=fb&isFirst=1");
//选择专业按钮
WebElement zy = driver.findElement(By.xpath("/html/body/form/table/tbody/tr[2]/td/table[3]/tbody/tr/td[2]/table/tbody/tr/td[3]/input[2]"));
zy.click();
Thread.sleep(2000);
//判断某个单选框是否已经被选择
boolean isZySelected = zy.isSelected();
System.out.println(isZySelected);
//获取被选元素的值
System.out.println(zy.getAttribute("value"));
driver.quit();
}
}
多选框CheckBox的操作和单选按钮一样,这里不再演示。
3.下拉选择框Select
程序6-15演示效果:打开药品审评中心受理品种目录浏览页面,点击年度下拉框后选择“全部”,停留2秒后点击属性值为“2018”的选项,再次停留2秒后获取下拉框的所有选项并输出选项值。下拉框的HTML代码如下所示。
<select name="year" style="WIDTH: 100%">
<option value="全部">全部</option>
<option value="2020" selected="selected">2020</option>
<option value="2019">2019</option>
<option value="2018">2018</option>
<option value="2017">2017</option>
<option value="2016">2016</option>
<option value="2015">2015</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012前">2012前</option>
</select>
//程序6-15
public class SelectOperation {
public static void main(String[] args) throws InterruptedException {
WebDriver driver = WebDriverUtils.getWebDriver();
driver.get("http://www.cde.org.cn/news.do?method=changePage&pageName=service&frameStr=3");
//找到select元素
Select select = new Select(driver.findElement(By.xpath("/html/body/form/table/tbody/tr[2]/td/table[2]/tbody/tr/td[2]/table/tbody/tr[2]/td[2]/select")));
//选择对应的选择项,index从0开始的
select.selectByIndex(0);
Thread.sleep(2000);
//选择指定的值
select.selectByValue("2018");
Thread.sleep(2000);
//获取所有的选项
List<WebElement> options = select.getOptions();
for (WebElement webElement : options) {
System.out.println(webElement.getText());
}
driver.quit();
}
}