前提・実現したいこと
python seleniumでサイトを遷移していき、最後のダウンロードボタンをクリックすればCSVをダウンロードできるところまできました。
そのボタンの要素にjavascriptが使われておりクリックできません。
――――――
html内の「<a data-handler="0" class="btn btn-success" href="javascript:;">すぐにダウンロード</a>」
――――――
↑これですが、どうしたらクリックできるでしょうか?
すみませんがよろしくお願いします。
発生している問題・エラーメッセージ
ElementNotInteractableException: Message: element not interactable (Session info: chrome=79.0.3945.79)
該当のソースコード
<div class="bootbox modal fade in" tabindex="-1" style="overflow:hidden;" aria-hidden="false"> <div class="modal-header"><h3>ダウンロードを開始します</h3></div> <div class="modal-body"> <div class="row-fluid"> <div class="span12"> <div class="alert alert-error"> <p><strong>注意事項</strong></p> <ul> <li>10万件を超えるとダウンロード終了までに時間がかかります</li> <li>ダウンロードが終了するまで他の操作はできません</li> <li>ダウンロードに成功した場合は「履歴」から再ダウンロードできます</li> </ul> </div> <div class="alert alert-info"> ダウンロード件数がわからない場合は、「件数を確認後にダウンロード」を押して件数を確認した後にダウンロードする事をお勧めします。 </div> </div> </div> </div> <div class="modal-footer"> <a data-handler="0" class="btn btn-success" href="javascript:;">すぐにダウンロード</a> <a data-handler="1" class="btn btn-large btn-warning" href="javascript:;">件数を確認後にダウンロード</a> <a data-handler="2" class="btn btn-danger" href="javascript:;">キャンセル</a></div>
試したこと
↓で要素を取得してクリックを試みましたが駄目でした。
driver.find_element_by_class_name('btn-success').click()
≪追記≫
一応、↓で直接ボタン位置をクリックすることでダウンロードすることはできましたが、他にjavascriptのボタンをクリックする方法はありますでしょうか?
import pyautogui as pg sleep(3) pg.click(x=350, y=530, button='left') #直接ボタン位置を指定してクリック
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。