2016-04-08 7 views
0

ドロップダウンのすべてのオプションを抽出して値を反復して選択値を取得する際に問題があります。以下はRubyコード:selectからすべてのオプションを選択し、値を繰り返して選択した値を検索します。 - Selenium Webdriver

select = @@driver.find_element(:id, 'dropdown_7') 
      all_options = select.find_elements(:tag_name, 'option') 
      all_options.each do |i| 
       puts 'Value is: ' + i.attribute('Andorra') 
       i.click 

HTMLコード:

<select id="dropdown_7" name="dropdown_7" class=" piereg_validate[required]"><option value="Afghanistan">Afghanistan</option></select> 

エラーメッセージ: `+ ':ゼロの無暗黙の変換文字列(TypeError例外)

にはない、これは離れて+から何を意味するのか確認してください=文字列の変換なし?

答えて

1

i.attribute('Andorra')nilを返したためにエラーがスローされました。rubyが文字列に変換できませんでした。ここで何をしたいあなたを取得する必要がありますいくつかの例です:それは見つけたとき、それは今の値を反復され、働いていた

# print the name attribute 
puts 'Name is: %s' % i.attribute('name') 

# print the value attribute 
puts 'Value is: %s' % i.attribute('value') 

# print the text content 
puts 'Text is: %s' % i.text 
+0

[OK]をおかげで、しかし、アンドラは、それはそれを選択しない選択した属性だけ反復し続けますAndorraをオプションリストで見つけたらAndorraを選択する必要があるときに、ドロップダウンリストの値を変更します。ちなみに、Rubyの新機能は、どのように動作しますか?私はこれが数学でしか使われていないと思った? – Speedychuck

+0

%は、文字列の書式設定に使用されます。あなたの問題に関しては、より良い解決策を提供するのに十分な情報がありません。この例を見て、それはあなたを助けるかもしれません:http://stackoverflow.com/questions/4672658/how-do-i-set-an-option-as-selected-using-selenium-webdriver-selenium-2- 0-clien –

関連する問題