储蓄。 Matching key,values of Hash of Hash in script with key,values of Array of Hash got from the page is not working has been deleted. 保存了 匹配键,脚本中带有键的哈希值已被删除,从页面获取的哈希值不可用。 显示了匹配键,脚本中的哈希值与从页面获取的哈希值不匹配的显示。
将键,脚本中的哈希值与键,从页面获取的哈希数组的值匹配不起作用
标题
我<span style =“ color:rgb(36,39,41); font-family:Arial,'Helvetica Neue',Helvetica,sans-serif; line-height:19.5px;”>想编写一个Ruby脚本来检查在Firebug的DOM中找到的页面层(例如:www.jira.com)是否与我的脚本中声明的哈希值匹配。 以下是我编写的Ruby脚本:</ span>

我想编写一个Ruby脚本来检查在Firebug的DOM中找到的页面层(例如:www.jira.com)是否与我的脚本中声明的哈希值匹配。 以下是我编写的Ruby脚本:

需要“ watir”

#初始化浏览器
浏览器= Watir :: Browser.new(:chrome)

#转到页面
browser.goto('www.jira.com')

#初始化需要匹配的哈希。 我之所以这样初始化,是因为将来如果哈希中增加了更多内容,将很容易修复
JIRA_DATA_LAYER = {
'一个'=> {
'event'=>'gtm.js',
'gtm.start'=> 1468393184212,
},
}

#函数读取JIRA数据层的元素
def read_data_layer(浏览器)
data_layer = browser.execute_script(“ return dataLayer”)

返回data_layer
结束

#比较直接从页面获得的JIRA值的函数
def compare_jira_data_layer(浏览器)
结果= []

compare_data_layer = read_data_layer(浏览器)

compare_data_layer [0]。每个| key,value |
result.push(键)
结束

返回result.join(“ \\ n”)
结束

#函数检查创建的哈希值和从页面获取的值是否匹配
def jira_data_layer(浏览器,层)
讯息= []

result_compare = compare_jira_data_layer(浏览器)

message.push('检查Jira数据层')

JIRA_DATA_LAYER。每个|键,值|
value.each | data_layer_key,data_layer_value |
如果data_layer_value == result_compare
结果=“匹配-通过”
其他
结果=“不匹配-失败”
结束

message.push(“#{data_layer_key}#{result}”)
结束
结束

返回message.join(“ \\ n”)
结束

#从页面读取dataLayer的元素
data_layer = read_data_layer(浏览器)

放入jira_data_layer(浏览器,data_layer)

以下是我在Netbeans中运行脚本时遇到的错误。
事件不匹配-失败
gtm.start不匹配-失败

我希望实现以下输出:
'event => gtm.js'匹配-通过
'gtm.start => 1468393184212'个匹配项-通过

我的意图是在功能中应该覆盖大部分可能的代码,以便可以将其用于更多主脚本

以下代码不起作用:
#函数检查创建的哈希值和从页面获取的值是否匹配
def jira_data_layer(浏览器,层)
讯息= []

result_compare = compare_jira_data_layer(浏览器)

message.push('检查Jira数据层')

JIRA_DATA_LAYER。每个|键,值|
value.each | data_layer_key,data_layer_value |
如果data_layer_value == result_compare
结果=“匹配-通过”
其他
结果=“不匹配-失败”
结束

message.push(“#{data_layer_key}#{result}”)
结束
结束

返回message.join(“ \\ n”)
结束

#从页面读取dataLayer的元素
data_layer = read_data_layer(浏览器)

放入jira_data_layer(浏览器,data_layer)

我要去哪里错了? 请帮忙。 提前致谢


<span style =“ color:rgb(36,39,41);字体系列:Arial,“ Helvetica Neue”,Helvetica,无衬线;行高:19.5px;”>
</ span>
<span style =“ color:rgb(36,39,41);字体系列:Arial,“ Helvetica Neue”,Helvetica,无衬线;行高:19.5px;”>
</ span>

General None min None sec Ruby 一般 无分钟 无秒 16-07-16,上午10:01 ashwint87

答案:

登录以回答这个问题。