从Watir / Ruby中的webtable中提取文本

时间:2012-06-24 22:18:27

标签: ruby testing nokogiri watir

我正在尝试从损益表中提取数据,网址为http://finance.yahoo.com/q/is?s=LMT+Income+Statement&annual

我无法使用browser.table(:name,'blah')或(:id,'blah')找到该表,但是使用此代码使用带有Nokogiri的xpath有些运气我已初始化所有内容并浏览到该页面:

page_html = Nokogiri::HTML.parse(browser.html)
tobj = page_html.xpath('//*[@id="yfncsumtab"]').inner_text

现在我可以使用tobj并将数据拉出来,但是对于尝试将对象操作为表格而言,这对我没有任何帮助。关于如何将表存储为变量的任何建议都会有所帮助。我可能会想到从那里迭代遍历行/列,但我不介意你加入一些可以做到这一点的代码。

3 个答案:

答案 0 :(得分:1)

你知道Watir有xpath支持吗?

browser.element(:xpath => '//*[@id="yfncsumtab"]')

答案 1 :(得分:0)

这样看:

doc = Nokogiri::HTML.parse(browser.html)
table = doc.at('table#yfncsumtab')

# iterate through tr's
table.search('tr').each do |tr|
  # do something with tr
end

答案 2 :(得分:0)

尝试browser.element(id: "yfncsumtab").text