如何检索图表的工具提示值

时间:2014-11-10 13:25:36

标签: ruby watir watir-webdriver

我想检索http://money.rediff.com/companies/L-T-Finance-Holdings-Ltd/17027392中可用图表的工具提示值。我试过以下代码。

test=browser.div(:id,"div_bse_graph").div(:id,"bseChart").elements(:css=>"canvas")
test.each do |p|
  p.hover
  puts browser.div(:id,"div_bse_graph").div(:id,"bseChart").div(:class,"jqplot-highlighter-tooltip").text
end

输出: 11:56,70.80 11:56,70.80 11:56,70.80 11:56,70.80 11:56,70.80 11:56,70.80 11:56,70.80

请帮我了解如何检索所有工具提示值。

1 个答案:

答案 0 :(得分:1)

数据被记录下来,因此您的概念将无法按预期工作。我花了一会儿找到电话,但这就是你要找的东西

http://money.rediff.com/money1/chart_1day_new.php?companyCode=17027392&all=1

将公司代码替换为您想要的任何一个并解析XML。 e.g。

require 'open-uri'
require 'nokogiri'
doc = Nokogiri::XML(open('http://money.rediff.com/money1/chart_1day_new.php?companyCode=17027392&all=1')
doc.xpath("//graph/set").map{|element| [element.attributes["name"].value,element.attributes["value"].value]}
#=>[["09:15", "71.90"], ["09:16", "71.35"], ["09:17", "71.35"], ["09:18", "71.45"],
   ["09:19", "71.45"], ["09:20", "71.50"], ["09:21", "71.60"], ["09:22", "71.50"],....]

我截断了响应因为它很长但是这会给你一个二维数组,其中所有这些点在图中表示为[时间,值]