seleniumでチェックボックスなどの要素がクリックできない場合

seleniumで要素がクリックできないときの解決方法

チェックボックス等の要素をクリック可能にする方法

ちゃんと要素を指定しているし、色々と要素の指定方法を変えて試したのに、

チェックボックスやラジオボタンなどの要素がクリックできない!とか、

no such element: Unable to locate element

というエラーが出て要素がクリックできないことがあります。

ひょっとしたら、

「新しいタブ」が開いていませんか?

もしその場合には、”新しいタブに操作を移します”というコードを書いて、新しいタブで操作できるようにすれば解決します。

このようなコードを、新しいタブで操作するコードの一番最初に追加してください。

※2行目の”browser”という部分は、ご自身で指定した変数名を入力してください。(browser=webdriver.Chrome()部分の変数名)

#新しいタブで操作できるようにする
window_handles=browser.window_handles#ウィンドウハンドルを取得
new_window_handle=window_handles[-1]  #最後に開かれたタブを指定
browser.switch_to.window(new_window_handle)

このようにすれば、新しいタブでの操作に切替わり、通常通りのfind_element(By.XPATH,”…”)等の方法で要素がクリックできるようになります。

ちなみに、その前に開いていたタブに操作を戻すには

browser.switch_to.window(window_handles[0])

とすれば切り替わります!

ABOUT US
中野友梨
旅行業の会社を運営。
慶応義塾大学卒

書類作成、確認作業などに追われる日々の仕事。
一生懸命やっているつもりだった。
計算ミス、手配ミスにヒヤヒヤする日々。
仕事の効率をなんとかしなけらばいけないと思っていたけど、 どうしたらよいのか分からなかった。
Pythonの世界なんて、全く知らなかった。
そんな私がPythonで仕事が効率化されることによって、公私ともに大きく 変わるとは、夢にも思っていなかった..。

業務効率化のためにPythonを始めたことがきっかけで、Pythonにはまりました。(個人利用レベル)
詳細はこちら

労働時間が大きく削減され、仕事が大カイゼンされて自由な時間も生まれました。
私のした素晴らしい経験を共有したい、仕事の効率が悪いけど、どうにかしたいという悩みを持った人々に向けて、 Pythonがいいよ、と教えてあげたい。
このブログでは、私が経験したエラー解決や迷い所、Pythonの活用方法をお伝えします。