1. ホーム
  2. ruby-on-rails

[解決済み] Capybaraで、ターゲットが"_blank "のリンクを新しいウィンドウに切り替えるにはどうすればよいですか?

2023-08-05 09:34:41

質問

おそらくこれは私が経験している問題ではありませんが、target="_blank" を持つリンクを "click_link" するとき、セッションは現在のウィンドウにフォーカスを維持するようです。

つまり、新しいウィンドウに切り替えられるようにするか、_blank 属性を無視するか、本質的には、リンクによって示されるページに実際に移動して、それが正しいページであることを確認できるようにしたいのです。

私は webkit と selenium ドライバを使用しています。


私は以下にこれまでの私の調査結果を提出しました。より詳細な回答は非常にありがたいです。

また、これはseleniumでのみ動作します。webkitドライバに相当するもの(または私自身がそれを発見できる場所を指摘すること)は、大いに感謝されるでしょう。

どのように解決するのですか?

Capybara >= 2.3では、新しいウィンドウ管理APIが追加されました。以下のような使い方ができます。

new_window = window_opened_by { click_link 'Something' }
within_window new_window do
  # code
end