我在下拉列表中提取所有选项然后迭代值以获取所选值时遇到问题。 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和没有字符串转换之外,不确定这是什么意思?
答案 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