如何在 Selenium 中從靜態下拉列表中選擇一個值?


Selenium 中 Select 類下可用於從靜態下拉列表中選擇值的各種方法。

它們列示如下:

  • selectByVisibleText(String args)

    此方法在下拉列表中最常用。使用此方法在下拉列表和多選框中選擇選項非常簡單。它以字串作為引數,不返回值。

    語法:

    Select s = new Select(driver.findElement(By.id("<< id exp>>")));
    s.selectByVisibleText("Selenium");
  • selectByIndex(String args)

  • 此方法獲取要在下拉列表中選擇的選項的索引。它以 int 作為引數,不返回值。

  • 語法:

    Select s = new Select(driver.findElement(By.id("<< id exp>>")));
    s.selectByIndex(1);
  • selectByValue(String args)

    此方法獲取要在下拉列表中選擇的選項的值。它以字串作為引數,不返回值。

    語法:

    Select s = new Select(driver.findElement(By.id("<< id exp>>")));
    s.selectByValue(“Testing”);

示例

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 java.util.List;
import org.openqa.selenium.support.ui.Select;
public class SelectOptions{
   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.tw/tutor_connect/index.php"; driver.get(url);
      driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
      Select s = new Select(driver.findElement(By.xpath("//select[@name=’selType’]")));
      // select an option by value method
      s.selectByValue("name");
      Thread.sleep(1000);
      // select an option by index method
      s.selectByIndex(0);
      Thread.sleep(1000);
      // select an option by visible text method
      s.selectByVisibleText("By Subject");
      Thread.sleep(1000);
      driver.quit();
   }
}

更新於: 2020年6月11日

10K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

立即開始
廣告