2016-04-09 10 views
1

こんにちは、こんにちは。どのように私は反応IDを選択できません。 watir

<div id="side bar" class="sidebar"> 
<div class="inner active" data-reactid=".1"> 
<a class="back side bar" data-reactid=".1.0" href="#overview"> 
<h2 data-reactid=".1.1"> 
<div class="price clearfix" data-reactid=".1.2"> 
<div class="values type-current-value" data-reactid=".1.3"> 
<div class="values date-current-value" data-reactid=".1.4"> 
<div class="values duration-current-value" data-reactid=".1.5"> 
<div class="values passengers-current-value" data-reactid=".1.6"> 
<div class="values yacht-current-value" data-reactid=".1.7"> 
<div class="values flight-current-value" data-reactid=".1.8"> 
<div class="share-quote" data-reactid=".1.9"> 
<a class="share-quote cta-button cta-button-blue = share-quote-processed" data-reactid=".1.9.0" data-modal-url="/share-quote" href="#">Share this quote</a> 
</div> 

は、私が作成し、以下をしようとしています次のコードスニペットにあるボタンを選択することができます何のメソッドエラー

b.links(:のxpath =>「//のdiv [@クラス=んto-a.click

答えて

2

コードは、個々のリンクではなくリンクの配列をクリックしようとしています。そのため、未定義のメソッドエラーが発生します。

コレクション内の特定のリンクをクリックする必要があります。例えば:1ページだけでこれらのリンクがあると仮定すると、

# Click the first link 
b.links(:xpath => '//div[@class="share-quote"]/a').first.click 

# Click the last link 
b.links(:xpath => '//div[@class="share-quote"]/a').first.click 

# Click the nth link 
b.links(:xpath => '//div[@class="share-quote"]/a')[n].click 

、それを行うのは、よりワチールのような次のようになります。そのため

b.div(class: 'share-quote').link.click 
+0

感謝。ユーザーがページを関連するセクションに移動した場合にのみリンクが表示されることがわかりました。したがって、現在は垂直スクロールを手動で移動する必要があります。そうしないと、テストは失敗します。 – rubytester

+1

スクロールの質問に役立つ[watirを使用してWebページをスクロールする方法](http://stackoverflow.com/q/13608890/1200545)に関する質問があります。 –

+0

もう一度お返事ありがとうございます – rubytester

関連する問題