Just do IT

思うは招く

Capybara でデータ削除時の confirm ボタンを押したい

こう書く。

page.accept_confirm do
  first("tbody tr").click_link "削除"
end

ほかにも。

#「ログ」を削除したい場合
  it "正常に削除できる" do
    page.accept_confirm do
      click_link "削除"
    end
    expect(page).to have_content "ログを削除しました"
  end

Method: Capybara::Session#accept_confirm — Documentation for jnicklas/capybara (master)

キャンセルする場合は

page.dismiss_confirm do
  ~
end

Method: Capybara::Session#dismiss_confirm — Documentation for jnicklas/capybara (master)

ちなみに検索していると下記のような情報も出てくるが、↑のCapybaraが提供しているメソッドを使ったほうが適切。

page.driver.browser.switch_to.alert.accept