42

JavaでSelenium WebDriverを使用して、性別(男性、女性など)などのドロップダウンリストから項目を選択するにはどうすればよいですか?

私はこれを試しました

WebElement select = driver.findElement(By.id("gender"));
List<WebElement> options = select.findElements(By.tagName("Male"));
for (WebElement option : options) {
    if("Germany".equals(option.getText()))
        option.click();   
}

上記のコードは機能しませんでした。

4

9 に答える 9

43

使用する -

new Select(driver.findElement(By.id("gender"))).selectByVisibleText("Germany");

もちろん、あなたはする必要があります import org.openqa.selenium.support.ui.Select;

于 2012-10-18T06:16:10.157 に答える
22

以下に示すように、WebElement を Select オブジェクトにラップするだけです。

Select dropdown = new Select(driver.findElement(By.id("identifier")));

これが完了すると、3 つの方法で必要な値を選択できます。このようなHTMLファイルを考えてみましょう

<html>
<body>
<select id = "designation">
<option value = "MD">MD</option>
<option value = "prog"> Programmer </option>
<option value = "CEO"> CEO </option>
</option>
</select>
<body>
</html>

ドロップダウンを特定するには

Select dropdown = new Select(driver.findElement(By.id("designation")));

そのオプションを選択するには、「プログラマー」と言います。

dropdown.selectByVisibleText("Programmer ");

また

dropdown.selectByIndex(1);

また

dropdown.selectByValue("prog");

ハッピーコーディング:)

于 2013-08-08T06:28:01.227 に答える
3

Google の「select item selenium webdriver」は、最初の結果としてRuby で Selenium WebDriver (selenium 2.0) client を使用して選択されたオプションを設定する方法を表示します。これは Java ではありませんが、それほど手間をかけずに翻訳できるはずです。https://sqa.stackexchange.com/questions/1355/what-is-the-correct-way-to-select-an-option-using-seleniums-python-webdriverがトップ 5 に入っています。 API は非常に似ています。

于 2012-10-17T18:16:36.983 に答える
3
WebElement selectgender = driver.findElement(By.id("gender"));
selectgender.sendKeys("Male");
于 2012-11-26T15:45:23.360 に答える
3

マイトレーヤが投稿したように、Selenium WebDriver の「Select」クラスを使用できます。申し訳ありませんが、ドロップダウンから性別を選択して、文字列を「ドイツ」と比較する理由について少し混乱しています。これがコードスニペットです。

Select gender = new Select(driver.findElement(By.id("gender")));
gender.selectByVisibleText("Male/Female");

import org.openqa.selenium.support.ui.Select;上記のコードを追加してインポートします。性別は、あなたが与えたもの(男性/女性)が選択されます。

于 2012-11-28T11:23:09.463 に答える
1
WebElement select = driver.findElement(By.id("gender"));
List<WebElement> options = select.findElements(By.tagName("option"));
for (WebElement option : options) {
   if("Germany".equals(option.getText()))
       option.click();   
}
于 2013-01-23T16:25:20.340 に答える
0
public class checkBoxSel {

    public static void main(String[] args) {

         WebDriver driver = new FirefoxDriver();
         EventFiringWebDriver dr = null ;


         dr = new EventFiringWebDriver(driver);
         dr.get("http://www.google.co.in/");

         dr.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

         dr.findElement(By.linkText("Gmail")).click() ;

         Select sel = new Select(driver.findElement(By.tagName("select")));
         sel.selectByValue("fil");

    }

}

GOOGLE LOGIN PAGE を使用して選択オプションをテストしています。上記の例では、ドロップダウン リストから言語「フィリピン語」を検索して選択しました。これで問題が解決すると確信しています。

于 2013-01-23T10:49:22.073 に答える