DOM导航模型?(水豚/野小纪里)



在我开始重新发明轮子之前,是否有任何现有的宝石支持使用Capybara/Nokogiri的JavaScript风格DOM导航?我正在考虑将整个页面解析为对象的方法:

my_table = page.tables[0]
my_row = my_table.row[3]
my_cell = my_row.cell[2]
my_cell.text.should == "hello world"

(我正在寻找一个Ruby解决方案,而不是一些JavaScript的包装器)。

这对你有用吗?这是标准的Nokogiri

my_table = page.css('table')[0] # or page.at_css('table')
my_row = my_table.css('tr')[3] # or my_table.at_xpath('tr[position()=4]')
my_cell = my_row.css('td,th')[2]
my_cell.text.should == "hello world"

你可以把Nokogiri猴痘准确地给你,但这对我来说并不好看。

class Nokogiri::XML::Node
  def tables
    css('table')
  end
  def rows
    css('tr')
  end
  def cells
    css('th,td')
  end
end
my_table = page.tables[0]
my_row = my_table.rows[3]
my_cell = my_row.cells[2]
my_cell.text.should == "hello world"

另一个糟糕的选择是slop decorator,在本页底部详细介绍。

另请参阅《Rails》指南中的"测试视图"。

相关内容

  • 没有找到相关文章