pythonで給料明細を自動取得#2

Seleniumの基本動作まとめ

【完全版】PythonとSeleniumでブラウザを自動操作(クローリング/スクレイピング)するチートシート | たぬハック

基本操作の一覧、わかりやすい。

これ理解してから進めたほうがいい。

 

・JSを含むselectだからうまく行かない?

seleniumでJavaScriptを含むselect要素への対応方法 - Qiita

→解決せず、、、clickableにならずにタイムアウト、、、

そもそもselectにはJS割りついてないか、、、

 

・HTMLに埋め込まれたJavaScriptはelement.click()せずに直接実行できる?

Python 3.x - [Python]seleniumでclick()ができない|teratail

clickできない問題は解決しなかったけど、ヒントになりそう、、、

HTML見ると onchange にJSが割りついている、、、

 

・onchangeって何、、、?

HTMLElement: change イベント - Web API | MDN

>>change イベントは <input><select><textarea> 要素において、ユーザーによる要素の値の変更が確定したときに発生します。

なるほど、、、onchangeにJSが割りついているってことは、要素がselectされたときに自動でJavaScriptが走るってことね。

ってことは要素のselectさえできれば直接JSたたけばイケるかも。

もっかいHTMLとにらめっこしてみる

 

・マウスオーバーとクリックの動作でclassが変わっている?

通常時

ui-btn ui-shadow ui-btn-icon-right ui-btn-up-c

マウスオーバー時

ui-btn ui-shadow ui-btn-icon-right ui-btn-hover-c

クリック後ドロップダウンリスト表示時

ui-btn ui-shadow ui-btn-icon-right ui-btn-hover-c ui-btn-up-c

→よくわからんが、classとかcss selector指定って要素を特定しきれてないんじゃないか、、、?xpathで指定してみる

 

やっと選択できた、、、!!!

でもまだselectがうまく動かない。