如何在 selenium 中使用下拉列表?


我们可以使用 Selenium webdriver 从下拉列表中选择一个选项。Select 类用于处理静态下拉列表。通过 html 代码中的 <select> 标记识别下拉列表。

让我们考虑用于 <select> 标记的以下 HTML 代码。

我们必须 导入 org.openqa.selenium.support.ui.Select 以在我们的代码中使用 Select 类下的方法。让我们看看一些 Select 方法−

  • selectByVisibleText(arg) - 如果下拉列表上显示的文本与作为方法参数传递的参数 arg 相同时,选择一个选项。

    语法

    sel = Select (driver.findElement(By.id ("option")));

    sel.selectByVisibleText ("Selenium");

  • selectByValue(arg) - 如果下拉列表上的值与作为方法参数传递的参数 arg 相同时,选择一个选项。

    语法

    sel = Select (driver.findElement(By.id("option")));

    sel.selectByValue ("val");

  • selectByIndex(arg) - 如果下拉列表上的索引与作为方法参数传递的参数 arg 相同时,选择一个选项。索引从 0 开始。

    语法

    sel = Select (driver.findElement(By.id("option")));

    sel.selectByIndex(3);

示例

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.support.ui.Select

public class SelectItem{
   public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url ="https://tutorialspoint.com/selenium/selenium_automation_practice.htm"
      driver.get(url);
      driver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS);
      // identify element
      WebElement p=driver.findElement(By.xpath("//[@name='continents']"));
      //Select class
      Select sel= new Select(p);
      // select with text visible
      sel.selectByVisibleText("Africa");
      // select with index
      sel.selectByIndex(5);
      driver.quit();
   }
}

更新于: 2020-09-18

3K+ 浏览

开启你的 职业生涯

完成该课程获得认证

开始
广告