前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用SeleniumWebdriver操作下拉框菜单DropDown

使用SeleniumWebdriver操作下拉框菜单DropDown

作者头像
软测小生
发布2019-09-19 10:57:55
2.2K0
发布2019-09-19 10:57:55
举报
文章被收录于专栏:软测小生软测小生
本文将介绍如何处理下拉框选项和多选操作

从下拉框中选择-->选项

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

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

例如,进入Mercury Tours的注册页面(http://demo.guru99.com/test/newtours/register.php), 看到这里的Country下拉框。

在这里插入图片描述

在这里插入图片描述

第一步: 导入Select包;

代码语言:javascript
复制
import org.openqa.selenium.support.ui.Select;

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

代码语言:javascript
复制
Select drpCountry = new Select(driver.findElement(By.xpath("country")));

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

代码语言:javascript
复制
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、参数:不需要参数

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

代码语言:javascript
复制
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);
 }
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软测小生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从下拉框中选择-->选项
  • 选择项中有多个元素
  • 选择的方法(5种)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档