从select中选择所有选项然后遍历值以查找所选值 - Selenium Webdriver

时间:2016-04-08 14:45:36

标签: ruby-on-rails ruby selenium selenium-webdriver

我在下拉列表中提取所有选项然后迭代值以获取所选值时遇到问题。 Ruby代码下面:

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 code:

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

错误消息:`+':没有将nil隐式转换为String(TypeError)

除了+ = nil和没有字符串转换之外,不确定这是什么意思?

1 个答案:

答案 0 :(得分: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