#初めに
Python×SeleniumでWebサイトいじっていた時に、どうしても押せなかったボタンがあり時間を浪費してしまったので
今後こんなことが無いように備忘用にメモ。
#やりたかったこと
とあるサイト(サイト名は伏せさせて頂きます)からCSVデータをダウンロードしたかったんです。
具体的には下図の「CSV export」を押したかったんです。
手動でCSV exportを押す場合の手順は以下の通りとなります。
- 右上の雲マークをクリックするとXLSX export, CSV exportのリストが展開される
- CSV exportをクリックする
で、問題はどこだったかというと、Seleniumで1.の雲マークがクリックできなかったんです。
正確にはクリックは出来たんですが、リストが展開されなかったんです。
ちなみに私はHTML周りはど素人なので、なんでリストが展開されないかとかは一切わかりません。
#解決策
どうしようか悩みながらサイトのソースを見ていたら、
雲マークをクリックする前後で以下の属性値が変わっていることがわかりました。
どうやらこのdiv要素のClassを"module-menu invisible"から"module-menu visible"に書き換えればリストを展開できそうです。
script = "document.getElementsByClassName('module-menu invisible')[0].className = 'module-menu visible';"
driver.execute_script(script)
#結論
出来た。