ドロップダウンから値を選択する方法 Selenium
⚡ スマートサマリー
ドロップダウンから値を選択してください Selenium 専用の Select クラスを使用して HTML の SELECT 要素を制御します。このクラスは、selectByVisibleText、selectByValue、selectByIndex メソッドを提供し、オプションを正確に選択したり、複数選択のドロップダウンリストをサポートしたりします。
Select Class とは何ですか Selenium?
その クラスを選択してください Selenium のヘルパークラスです org.openqa.selenium.support.ui WebDriverがHTMLとやり取りできるようにするパッケージ <select> 要素。表示テキスト、値、またはインデックスによってオプションを選択および選択解除するメソッド、およびドロップダウンが複数選択を受け付けるかどうかを検出するメソッドを提供します。
なぜなら Select 常連です Java クラスでは、インスタンスを作成します。 new キーワードと、WebElement を渡す <select> ページ上のタグ。
でドロップダウンを選択する方法 Selenium
ドロップダウンを処理する前に Selenium2つの手順が必要です。
- パッケージをインポートする org.openqa.selenium.support.ui.Select.
- ドロップダウンをインスタンス化する
Select内のオブジェクト Selenium ウェブドライバー。
例として、 Mercury ツアー登録ページ(https://demo.guru99.com/test/newtours/register.php)そして「国」ドロップダウンを探します。
ステップ1)Selectパッケージをインポートします。
import org.openqa.selenium.support.ui.Select;
ステップ 2) ドロップダウン要素を Select クラスのインスタンスとして宣言します。 以下の例では、インスタンスは次のように命名されます。 drpCountry.
Select drpCountry = new Select(driver.findElement(By.name("country")));
ステップ3)ドロップダウンメニューの操作を開始します。 任意の選択メソッドを使用してオプションを選択してください。以下の例では「南極」を選択します。
drpCountry.selectByVisibleText("ANTARCTICA");
でメソッドを選択します Selenium
Selectクラスは、ドロップダウンリストのオプションを操作するためのいくつかのメソッドを提供します。最も一般的な5つのメソッドを以下に説明します。
1) selectByVisibleText() と deselectByVisibleText()
- 表示テキストがパラメータと一致するオプションを選択または選択解除します。
- パラメータ: そのオプションに表示される正確なテキスト。
例:
drpCountry.selectByVisibleText("ANTARCTICA");
2) selectByValue() と deselectByValue()
- 選択または選択解除するオプション
value属性がパラメータと一致します。 - 表示されているテキストと
value属性は、以下に示すように、しばしば異なる。 - パラメータ: そのオプションの
value属性。
例:
drpCountry.selectByValue("234");
3) selectByIndex() と deselectByIndex()
- 指定されたインデックスにあるオプションを選択または選択解除します。インデックスは0から始まります。
- パラメータ: オプションの整数インデックス。
例:
drpCountry.selectByIndex(0);
4) isMultiple()
- 返品
TRUEドロップダウンリストで同時に複数の選択が可能な場合、そうでない場合FALSE. - パラメータ: なし。
例:
if (drpCountry.isMultiple()) {
// do something here
}
5) deselectAll()
- 選択したすべてのオプションをクリアします。複数選択可能なドロップダウンリストでのみ有効です。
- パラメータ: なし。
例:
drpCountry.deselectAll();
完全 Code 選択メソッドの Selenium
以下 Java このプログラムは、単一選択ドロップダウンと複数選択ドロップダウンの両方でSelectクラスを使用する方法を示します。
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.gecko.driver", "C:\\geckodriver.exe");
String baseURL = "https://demo.guru99.com/test/newtours/register.php";
WebDriver driver = new FirefoxDriver();
driver.get(baseURL);
// Single-select drop-down
Select drpCountry = new Select(driver.findElement(By.name("country")));
drpCountry.selectByVisibleText("ANTARCTICA");
// Multi-select drop-down
driver.get("http://jsbin.com/osebed/2");
Select fruits = new Select(driver.findElement(By.id("fruits")));
fruits.selectByVisibleText("Banana");
fruits.selectByIndex(1);
}
}
複数選択要素で項目を選択する
その selectByVisibleText() このメソッドは複数選択ドロップダウンにも有効です。例として、 https://jsbin.com/osebed/2 拠点として URL複数の項目を一度に選択できるドロップダウンメニューが表示されます。
以下のコードスニペットは、最初の 2 つのオプションを選択します。 selectByVisibleText():
方法参照表
この表は、上記で説明したすべての Select クラスのメソッドをまとめたもので、簡単に参照できます。
| Command | 詳細説明 |
|---|---|
| selectByVisibleText() / deselectByVisibleText() | 表示されているテキストに基づいて、オプションを選択または選択解除します。 |
| selectByValue() / deselectByValue() | オプションを選択または選択解除します value 属性。 |
| selectByIndex() / deselectByIndex() | 0から始まるインデックスを使用して、オプションを選択または選択解除します。 |
| isMultiple() | ドロップダウンリストで複数選択が可能な場合はTRUEを返し、そうでない場合はFALSEを返します。 |
| すべての選択を解除() | 複数選択可能なドロップダウンリストで、以前に選択されていたすべてのオプションの選択を解除します。 |
ドロップダウンボックスを制御するには、 org.openqa.selenium.support.ui.Select まずパッケージを作成し、次にSelectインスタンスを作成して、上記のいずれかのメソッドを呼び出します。


.png)
.png)
.png)
.png)