6.4 Selenium操作页面元素

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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值