python seleniumでクリックできない!
また躓いたので共有。
ajaxとかjavascriptごりごりのサイトだと簡単にクリックできない場合があります。
だいたいは、
driver.find_element_by_xpath('パス').click()
こんな感じでいけるんですが、クリックできないという話です。
今回出会ったサイトは、画面が上下の窓に分かれているサイトで、
ボタンを押すとポップアップウインドウがでる。
そして押したいボタンが表示範囲外に出てくるサイト。
まあ、こんな構成にしたら簡単には操作できないよね。
むしろエンジニアとしてこういうサイトは作るなってことですね。
個人的には心当たりあるので反省。。。
でいろいろ調べるとonclickイベントに書かれているjavascriptを直接実行できるので、
それで代替できるとのこと。
driver.execute_script('onclickに記載されているjavascriptをそのまま転記')
こんな感じ。
やってみたらうまくできました。
ふ~。
やはりサイトはシンプルに作るのが、作り手にとっても利用者にとっても一番いいよねということだと思いました。