我想在调用函数
时选择与传递的参数相关的单选按钮以下是text.html页面中的HTML代码:
<td>
<input name="names" value="a" type="radio">Text1
<input name="names" value="b" type="radio">Text2
</td>
以下是Ruby脚本:
require 'watir'
browser = Watir::Browser.new(:chrome)
browser.window.maximize
browser.goto('file:///C:/text.html')
def select_names(browser, name)
select_name_hash = {
'a' => 'First',
'b' => 'Second'
}
if browser.radio(:name => 'names', :value => "#{select_name_hash[name]}").present?
browser.radio(:name => 'names', :value => "#{select_name_hash[name]}").set
message = "Select #{name} - SUCCESS"
else
message = "Select #{name} - FAILURE"
end
return message
end
p select_names(browser, 'First')
我得到的输出为:
"Select First - FAILURE"
有人可以帮忙吗?我希望输出成功。提前致谢
答案 0 :(得分:0)
看起来您需要按其值获取哈希键。您可以按照以下方式执行此操作:
Ruby 1.9 以及更高版本:
select_name_hash.key(name)
Ruby 1.8 :
select_name_hash.index(name)
答案 1 :(得分:0)
如果您的变量name
等于First
,那么您应该初始化select_name_hash
,如:
select_name_hash = {
'First' => 'a',
'Second' => 'b'
}
<强> UPD 强>
适用于您的select_name_hash
> select_name_hash.rassoc('First').first
=> "a"
或
> select_name_hash.key('First')
=> "a