23

WebDriverJS を使用して値を選択するドロップダウン ボックスがあります。以下のユーザーガイドを見ましたが、その方法がわかりませんでした

https://code.google.com/p/selenium/wiki/WebDriverJs

次のようなJavaバージョンについて文書化されているいくつかのことを試してみます:

webdriver.Select(driver.findElement(webdriver.By.id("vote"))).selectByValue("5")

そして、単に「選択」が存在しないと言っているだけです。

ソースを調べましたが、使用できるものはまだ見つかりません。

4

15 に答える 15

14

オプションを選択するのに 2 回クリックする必要はありません。オプションを直接クリックするだけです。何かのようなもの、

driver.findElement(wd.By.css('#month>option[title="November"]')).click();
于 2015-01-26T19:13:33.330 に答える
5
driver.findElement({id: 'myDropDown'});// select dropdown element you wish to select
driver.sleep(1000);//not necessary
driver.findElement({id: 'myDropDown'}).sendKeys('name_of_option');//sending keys automatically fills dropdown with desired option
于 2016-10-19T16:20:23.180 に答える
3

私はwebdriverjsを使用していて、インデックスでオプションを選択したいので、そうしました:

driver.click('#my_select_box').click('#my_select_box option:nth-child(3)')
于 2013-08-22T16:01:41.840 に答える
2

これは、

selectElem = driver.findElement(webdriver.By.id("vote"))
selectElem.click()
selectElem.findElement(webdriver.By.css("option[value='5']")).click()
于 2013-04-07T07:40:36.917 に答える
0

driver.click('//*[@id="vote"]/option[3]')

参照: https://stackoverflow.com/a/22159563/227578

于 2015-06-09T14:49:30.337 に答える
0

私はES6で以下を使用していました:

 let select = driver.findElement(By.css("select"));
 let options = select.findElements(By.css("option"));
 options.then(values => {
     return Promise.all(values.map(el => el.getText())).then(optTexts => {
         return values[optTexts.indexOf('Some option text')].click();
     });
 });
于 2017-02-10T22:57:03.090 に答える
0

select 要素を見つけてクリックし、ドロップダウンを表示します。

driver.findElement(//div//select[@id="elementId"]).click();

次に、オプションから選択してクリックします。ここでは xpath による選択の方がうまくいくと思います。

driver.findElement(By.xpath('//div//select[@id="elementId"]//option[optionIndex]')).click();

于 2019-06-10T23:04:00.163 に答える
-1

これは実際にはオプションをクリックしていませんが、実際には選択しています。

  1. 選択要素 を検索
  2. 要素 の選択をクリックします
  3. sendKeys () を使用して select 要素にオプションテキストを入力します。
  4. 要素の選択をクリックします
于 2014-06-19T02:17:06.817 に答える