1

きゅうりを使って重要な要素を選択しようとしています。しかし、それはエラーを示しています。

ここに私のhtml

<div class="pagination">
    <ul>
        <li class="page active">
            <a href="/subscriptions">1</a>
        </li>
        <li class="page">
            <a rel="next" href="/subscriptions?page=2">2</a>
        </li>
        <li class="next_page">
            <a rel="next" href="/subscriptions?page=2">Next ›&lt;/a>
        </li>
        <li class="last next">
            <a href="/subscriptions?page=2">Last »</a>
        </li>
    </ul>
</div>

私のステップ関数は

But /^I click the pagination link$/ do
  within(".page a") do
    click_on("2")
  end
end

ここでは、エラーメッセージが次のように表示されます

But I click the pagination links              # features/step_definitions/subscription_steps.rb:206
  Unable to find link or button "Next >" (Capybara::ElementNotFound)
  ./features/step_definitions/subscription_steps.rb:207:in `/^I click the pagination links$/'
     features/subscriptions/test.feature:15:in `But I click the pagination links'

どうすればこれを修正できますか。

注:使えませんclick_on(2)。私のページには2が多いため

アドバイスありがとう。

4

1 に答える 1

2

コードがクラス「ページ」の要素内にあるリンク内でテキスト「2」のリンクを見つけるように指示しているため、例外が発生しています。

を扱うwithinよりも、要素を直接見つけた方が良いと思います。これにより、css-selector とテキストの両方に一致するリンクを見つけることができます。

find('.page a', :text => '2').click

また

first('.page a', :text => '2').click
于 2013-06-20T16:25:02.273 に答える