こんにちは、mahです。
このブログでは、僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。
今回は、Seleniumで、Other element would receive the click というエラーが出た場合の解決方法 についてです。
【Ruby】Seleniumでエラー Other element would receive the click の解決方法
概要
Seleniumで要素を取得し、clickすると、
- Other element would receive the click
というエラーが出ることがあります。
これは例えば、
クリックしたい要素の上に、別の要素があり、その別の要素をクリックしている時
などに発生します。
具体例
ページを表示する(ページ上には、何らかの登録フォームのボタンがあると仮定します)
何らかのモーダルを開くとします
1のボタンをクリック
この、3の時に発生するイメージ です。
2で開いているモーダルが、
1のボタンの上に被っているので、
1のボタンをクリック出来ませんということですね。
解決方法
調べていると、2通りの解決方法がありました。
上に被っている要素を、閉じるなり移動させる
clickではなくsubmitを使う
submitの方が手っ取り早かったので、自分はsubmitで対応しました。
参考リンク
SeleniumでのElement is not clickableエラー | ハックノート
Seleniumコマンドチートシート【Ruby】 - Qiita
RailsやRubyを学びたい人へ
RailsやRubyを学びたい人は、
RailsHack(レイルズハック)という、
最近できた新しいプログラミングスクール(今なら通常価格69,800円が、早期割で29,800円!)か、
Udemy で下記のコースを受講すると良いです★
✅1. フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座
✅2. 【はむ式】ハンズオンで学ぶRuby on Rails 6【Dockerにも触れられる】 <- おすすめ。ハムさんはReactやTypeScriptの教材も非常に丁寧。
✅3. はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう
また、
Udemy は定期的にセールをやっていますし(90%OFFとかもザラ)、
「30日間なら返金できる」ので、
満足できなかった時でも安心です。
【公式】RailsHack(レイルズハック)
【公式】Udemyで学んでみる