2012-03-25 125 views
0

我有以下一段HTMl。紅寶石。黃瓜,用Xpath寫一些步驟

<table id="movies"> 
<thead><tr> 
    <th><a href="/movies?ratings%5BPG%5D=1&amp;ratings%5BR%5D=1&amp;sort=title" id="title_header">Movie Title</a></th> 
    <th>Rating</th> 
    <th><a href="/movies?ratings%5BPG%5D=1&amp;ratings%5BR%5D=1&amp;sort=release_date" id="release_date_header">Release Date</a></th> 
    <th>More Info</th> 
</tr></thead> 
<tbody> 
<tr> 
    <td>The Terminator</td> 
    <td>R</td> 
    <td>1984-10-26 00:00:00 UTC</td> 
    <td><a href="/movies/2">More about The Terminator</a></td> 
</tr> 
<tr> 
    <td>When Harry Met Sally</td> 
    <td>R</td> 
    <td>1989-07-21 00:00:00 UTC</td> 
    <td><a href="/movies/3">More about When Harry Met Sally</a></td> 
</tr> 
<tr> 
    <td>Amelie</td> 
    <td>R</td> 
    <td>2001-04-25 00:00:00 UTC</td> 
    <td><a href="/movies/6">More about Amelie</a></td> 
</tr> 
</tbody> 
</table> 

現在,我想要寫,才能在我的黃瓜步驟,以檢查是否指定的「收視率」(第二列)在頁面上或不。

所以,我寫這個(這是從我的步界定及更大的代碼的一部分,但我檢查,一切正常,直到這個地方):

txt = "//table[@id='movies']/tbody//td[2]" 
    page.all(:xpath, txt) do |element| 
    debugger 
    puts element.text 
    end 

然而,似乎是某個地方的一個小錯誤,因爲我從來沒有進入這個page.all塊......沒有調試器被調用,例如。

任何幫助表示讚賞:)

回答

0

一些冥想幾分鐘的問題是固定的即時通訊我的腦海:) 我只是需要在最後給予。每次經過。

txt = "//table[@id='movies']/tbody//td[2]" 
page.all(:xpath, txt).each do |element| 
debugger 
puts element.text 
end 
+0

這是確定回答自己的問題(甚至接受你自己的答案是正確的),但是請假裝你是一個遊戲節目,實際上留下了一個問題,這個問題,並把這裏的答案。我編輯了你的問題,這個答案遵循這種模式。 – 2012-03-26 11:49:18

+0

好的,謝謝解釋! – 2012-03-27 09:07:26