2016-06-27 12 views
0

私はカピバラとコンテンツに苦しんでいます。私はウェブサイトで検証したいと思います。 サイトはHTMLで書かれています。 ラベル値に基づいてテキストボックスのテキストを確認しようとしています。 今は数時間ありました。まだまだ身動きが取れていません。誰かが私を助けてくれることを願っています。Capybara/HTML - 下の行のテキストを確認してください

テーブルの構造は基本的に次のようになります。私がやろうとしています

<table> 
    <thead> 
    <tbody> 
     <tr> 
     <td class="labelColumn"><span title="Label1:">Label1:</span></td>  
     <td class="outputColumn"><span id="Value1:" title="Value1:">Value1</span></td> 
     <td class="labelColumn"><span title="Label2:">Label2:</span></td>  
     <td class="outputColumn"><span id="Value2:" title="Value2:">Value2</span></td> 
     <td class="labelColumn"><span title="Label3:">Label3:</span></td>  
     <td class="outputColumn"><span id="Value3:" title="Value3:">Value3</span></td> 
     </tr> 
    </tbody> 
    </table> 

のLabel1の内容に基づいて値1を取得することで、Label2をに基づいて値2を取得し、

私は次のようなものを試しました:

page.find(:CSS、 'TR'、テキスト:ラベル、:マッチ=>:最初の).should have_text(バリュー)

しかし、唯一、それはようTR以内に探していたものであること全体ではなく、具体的にはラベル1値1

誰かが正しい方向に向いていますか? ありがとうございます!

EDIT:DataTablesを見ているべきですか?

| Label1 | Value1 | 
| Label2 | Value2 | 
| Label3 | Value3 | 

答えて

1

CSSセレクタは、評価しようとしている構造には適していませんが、XPathはうまく機能します。次のようなものが動作するはずです

page.find(:xpath, ".//td[contains(., 'Label1:')]/following-sibling::td[1]/span").should have_text('Value1') 
+0

お返事ありがとうございます。私は明日この最初のことを試み、あなたに戻ってくるつもりです! :) – cin

+0

こんにちは、今朝あなたの方法をチェックし、「兄弟姉妹」は本当に目が見えません。ありがとう!残念ながら私のhtmlは私の例とまったく同じようなものではないことがわかりました...しかし、私は自分の目標に近づいてきています。再度、感謝します! – cin

関連する問題