1

ドロップダウンリストのすべてのオプションを取得しようとしています。しかし、それは戻ってきています-[]。実際、私のドロップダウンリストには250のオプションがあります(国のリスト)

以下は私のHTMLページの内容です-

<select id="country" selected="" name="country">
  <option value="U0">Unknown</option>
  <option value="AP">Asia/Pacific Region</option>
  <option value="EU">Europe</option
  .
  .
  .

すべてのオプションを取得するために、私は次のように書きました-

element = driver.find_element(:id, "country")
countries = element.find_elements(:tag_name, "option") 

しかし、空の配列を返します-[]実際には、オブジェクトの配列を返す必要があります。

Seleniumはドロップダウンから多数のオプションを返すことができませんか?または、HTMLページまたはセレンコードに何か問題がありますか?

4

3 に答える 3

0

There is nothing wrong with what you published, the following works. I suggest you add options to the html-file until you get the error.

require "selenium-webdriver"
require 'ap'

driver = Selenium::WebDriver.for :firefox
driver.get("file:///c:/ruby193/test/selenium/test.html")
element = driver.find_element(:id, "country")
countries = element.find_elements(:tag_name, "option") 
ap countries

# [
#     [0] #<Selenium::WebDriver::Element:0x4033eddc id="{87044904-9da3-4194-9440-b585e9dabfc2}">,
#     [1] #<Selenium::WebDriver::Element:0x..f2be9452 id="{6692657d-df40-4dd5-a8ad-a2dbadda18b5}">,
#     [2] #<Selenium::WebDriver::Element:0x..fb1e0e416 id="{8886c68e-5c4f-45a5-8220-4795a73cabbe}">
# ]

Here is test.html

<select id="country" selected="" name="country">
  <option value="U0">Unknown</option>
  <option value="AP">Asia/Pacific Region</option>
  <option value="EU">Europe</option>
</select>
于 2013-03-22T10:18:57.620 に答える
0

デフォルトの選択クラスを使用して、ドロップダウン リストで使用可能なすべてのオプションを取得できないのはなぜですか?

クラスを選択 :リンク

Get Options メソッド :リンク

于 2013-03-22T13:07:40.980 に答える