【お仕事自動化】pythonでHPからcsvをDLして、データフレーム化する②【パスワードが必要なページにログインする】

pythonLOGO

今回はChromeDriverでパスワードが必要なページへのアクセスし、例として「エキスパ」のログインからCSVダウンロードのボタンを押してダウンロードするところまでの記事です。

この記事は

【お仕事自動化】pythonでHPからcsvをDLして、データフレーム化する①【準備編】

の続きで、実際にChromeDriverを起動して、各HTML要素の操作の仕方について書いています。

上記の記事でまずはChromeDriverの起動までできたかと思います。

まずは、復習としてChromeDriverの起動を行います

次はログインIDとパスワードを変数として格納します。

ログインするサイトへアクセスします。

それぞれの入力フォームにログインIDとパスワードを入力します。

ここではidを指定して入力するフォームを特定してUSERとPASSを入力しています。

このidの特定の仕方は、Chromeでログインしたいページを開いてF12を押してデベロッパーツールを開きます。

次に下画面の赤丸部分を押して、入力したいボックスを選びます。

するとその部分のHTML要素が分かります。

今回はこのid要素で入力する場所を特定しています。

その他に

  • find_element_by_id
  • find_element_by_name
  • find_element_by_xpath
  • find_element_by_link_text
  • find_element_by_partial_link_text
  • find_element_by_tag_name
  • find_element_by_class_name
  • find_element_by_css_selector

を指定して、操作をしたいHTML要素を特定する事ができます。詳しくはこちら

どうにもうまくいかないときは、xpathを指定するのが一番やりやすいです。

xpathを特定するのは、知りたい要素を右クリックして

Copy→Copy Xpath

等で指定するのが良いと思います。

入力を完了させた後は、ログインボタンを押します。

このボタンを押すというのもHTML要素を特定して、ボタンを押すという操作になります。(ここでは”name”を指定してボタンを押しています。)

コマンドは

.click()

を使用しています。

また、入力の合間合間でHTMLの読み込みの時間があるため、

time.sleep(3) # 3秒操作を待つ

で、プログラムが先に動いてしまわないようにしています。

その後は、手動で操作する事をイメージして、クリックや入力を繰り返している流れです。

ログインが成功した後は、ダウンロードボタンのあるページに直接飛んで良いのでこのようなボタンがあるページに飛んで

としてcsvダウンロードのボタンのidやname,XPath等を特定してクリックするという操作は変わりません。

こんな感じ。

次回は、ダウンロードしたcsvをPythonにデータフレームとして取り込む方法を書きます。よろしく。

続きはこちら



 

あ、宜しければ・・・。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です