チェックボックス等の要素をクリック可能にする方法
ちゃんと要素を指定しているし、色々と要素の指定方法を変えて試したのに、
チェックボックスやラジオボタンなどの要素がクリックできない!とか、
“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])
とすれば切り替わります!