使用SeleniumWebdriver操作下拉框菜单DropDown

本文将介绍如何处理下拉框选项和多选操作,首发于微信公众号【软测小生

从下拉框中选择–>选项

在控制下拉框之前,我们必须做以下两件事:

  1. 导入包org.openqa.selenium.support.ui.Select
  2. 在WebDriver中将下拉框实例化为Select对象

例如,进入Mercury Tours的注册页面(http://demo.guru99.com/test/newtours/register.php), 看到这里的Country下拉框。
在这里插入图片描述
在这里插入图片描述
第一步:
导入Select包;

import org.openqa.selenium.support.ui.Select;

第二步
将下拉元素声明为Select类的实例。在下面的示例中,我们将这个实例命名为drpCountry;

Select drpCountry = new Select(driver.findElement(By.xpath("country")));

第二步
现在,我们可以开始使用任何可用的选择方法来控制drpCountry;
下面的示例代码将选择“ANTARCTICA”选项:

drpCountry.selectByVisibleText("ANTARCTICA");

选择项中有多个元素

我们还可以使用selectByVisibleText()方法在一个多选择元素中选择多个选项。
例如我们将以http://jsbin.com/osebed/2作为测试的URL:它包含一个下拉框,允许一次选择多个选项。
在这里插入图片描述

下面的代码将使用selectByVisibleText()方法选择前两个选项:
在这里插入图片描述

选择的方法(5种)

下面是下拉列表中最常用的方法:

  • selectByVisibleText()和deselectByVisibleText()

    1、通过选项的文本进行操作:选择/取消选择;
    2、Parameter:指定选项对应的文本

  • selectByValue() 和deselectByValue()
    1、通过选项的属性值进行操作:选择/取消选择
    2、Parameter:属性的值;
    3、注意:并非所有下拉选项都具有相同的文本和“value”,如下面的示例所示:
    在这里插入图片描述

  • selectByIndex() 和 deselectByIndex()

    1、通过选项的索引值(下标)进行操作:选择/取消选择
    2、Parameter参数:选择项对应的索引值(下标)

  • isMultiple()

    1、如果下拉元素允许多选,则返回TRUE;否则返回FALSE。
    2、参数:不需要参数

  • deselectAll()

    1、取消所有选中选项;注意,只有当下拉元素支持多选时,这才有效。
    2、参数:不需要参数

以下是上文中的完整代码:

package newpackage;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.By;

public class accessDropDown {
 public static void main(String[] args) { 
		System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");
	    String baseURL = "http://demo.guru99.com/test/newtours/register.php";
	    WebDriver driver = new FirefoxDriver();
		driver.get(baseURL);

		Select drpCountry = new Select(driver.findElement(By.name("country")));
		drpCountry.selectByVisibleText("ANTARCTICA");

		//在多个选项中选择
		driver.get("http://jsbin.com/osebed/2");
		Select fruits = new Select(driver.findElement(By.id("fruits")));
		fruits.selectByVisibleText("Banana");
		fruits.selectByIndex(1);
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软测小生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值