seleniumが初めてで、現在Selenium Webdriverに取り組んでいます。ドロップダウンから値を選択します。 id = periodIdおよびオプションは、過去52週間を選択しようとしています。
Htmlタグは次のとおりです。
<select id="periodId" name="period" style="display: none;">
<option value="l4w">Last 4 Weeks</option>
<option value="l52w">Last 52 Weeks</option>
<option value="daterange">Date Range</option>
<option value="weekrange">Week Range</option>
<option selected="" value="monthrange">Month Range</option>
<option value="yeartodate">Year To Date</option>
</select>
ドロップダウンをクリックする方法をいくつか教えてください。
上記の例の行で試してみましたが、要素が現在表示されていないなどのエラーが発生しているため、コマンドの継続時間やタイムアウトとやり取りできない可能性があります:32ミリ秒のドロップダウン値はjquery multiselectウィジェット形式です
以下に示すように、WebElementをSelect Objectにラップするだけです
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");
すべてを1行で書きたい場合は、
new Select (driver.findElement(By.id("designation"))).selectByVisibleText("Programmer ");
上記で説明したように、SeleniumでSelect Classを実装する必要があり、さらに次のようなさまざまな利用可能なメソッドを使用できます。
実際、select
は選択しますが、選択した値をそれぞれのフィールドに配置しません。以下のスニペットが完璧に機能するのか疑問に思ったところ
driver.findElement(By.name("period")).sendKeys("Last 52 Weeks");
ドロップダウンを選択するコード xpathを使用
Select select = new
Select(driver.findElement(By.xpath("//select[@id='periodId']));
特定のオプションを選択するコード selectByVisibleTextを使用
select.selectByVisibleText(Last 52 Weeks);
次のメソッドを使用して、Seleniumでドロップダウンを処理できます。
詳細については、 http://www.codealumni.com/handle-drop-Selenium-webdriver/ この投稿を参照してください。
クエリを解決する上で非常に役立ちます。