2012-03-25 2 views
0

바퀴를 다시 발명하기 전에 Capybara/Nokogiri를 사용하여 JavaScript 스타일 DOM 탐색을 지원하는 기존 보석이 있습니까?DOM 탐색 모델? (Capybara/Nokogiri)

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

(I 일부 자바 스크립트 래퍼가 아닌 루비 솔루션을 찾고 있어요) :이 수 있도록 개체로 전체 페이지를 구문 분석 뭔가 생각하고 있어요.

답변

1

이 기능을 사용할 수 있습니까? 당신이 노코 기리 정확히에게주고 monkeypatch 수

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" 

노코 기리

표준입니다, 그러나 그것은 나에게 꽤 보이지 않는다.

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" 

또 다른 나쁜 옵션은 슬롭 장식, 상세한 at the bottom of this page입니다.

레일 가이드에서 Testing Views도 확인하십시오.

+0

예, 부분적으로 필자가 필요로하는 부분을 달성하고, 건물을 생각하고있는 선상에 있고, 개체 기반 트리가 더 많으며 특정 요소 유형에 특정한 메서드를 추가 할 수 있습니다. –