我有这样的哈希:
$login_form = {
$username => {web_element_type: :id, web_element: 'uname'},
$password => {web_element_type: :id, web_element: 'pass'}
}
如何以最简单的方式检索$ password的web元素类型和web元素?
答案 0 :(得分:1)
您确定需要global variables吗?
现在,哈希中的键不是字符串,符号或整数,而是变量$username
和$password
引用的对象。这些变量是全局变量,可以从代码中的任何位置访问。对于名为password
的变量,这似乎不太好。
如果这些变量未初始化,则它们都是nil
,因此您的login_form
实际上是:
{nil=>{:web_element_type=>:id, :web_element=>"pass"}}
$username
已覆盖$password
的值。
如果你确定login_form
应该是一个全局变量:
$login_form = {
username: {web_element_type: :id, web_element: 'uname'},
password: {web_element_type: :id, web_element: 'pass'}
}
p $login_form[:password].values_at(:web_element_type, :web_element)
#=> [:id, "pass"]
type, element = $login_form[:password].values_at(:web_element_type, :web_element)
p type
#=> :id
p element
#=> "pass"
如果没有,您可以使用@login_form
或login_form
。
如果您仍然感到困惑,可以查看this。
答案 1 :(得分:1)
此解决方案可以帮助您并准备好Hash
像这样定义哈希
$login_form = {
:username => {web_element_type: :id, web_element: 'uname'},
:password => {web_element_type: :id, web_element: 'pass'}
}
您可以像这样检索password
$login_form[:password]
如果您有任何疑问,请告诉我。