pythonのseleniumモジュールで自動ログイン【proxy対応版】

pythonとseleniumで自動ログイン プログラム

pythonのseleniumモジュールを利用して、GoogleChrome上のWebサイトへ自動ログインするプログラミングをしていきます。

proxy対応無し版、proxy対応有り版の両方を記載していきます。

このプログラムで出来る事

手動で行っているGoogleChromeの展開、及び、ユーザーID・パスワードの入力をせずにwordpressの管理者画面にログインすることが出来る様になります。

自動化するログイン画面のURLやユーザーID、パスワードの入力フィールドに加え、ログインボタンの情報なども外部ファイルにて修正が出来る様にしている為、任意のWebサイトへのログインにも対応可能です。

また、会社などの組織内のネットワークからのアクセスの様に、プロキシサーバーを介してWebサイトにアクセスするような場合にも対応します。

pythonのソースコード

proxy対応無し版、proxy対応有り版それぞれで記載します。

proxy対応無し版

作成したソースコードは以下です。
(ソースコード内に、コメントを記載したため、解説は割愛します。)

外部ファイルであるsetting.iniの内容は以下です。

{ログインID}、{パスワード}、{あなたのサイトドメイン}を自身で管理しているwordpressの情報に差し替えて利用します。

proxy対応有り版

ソースコードは以下です。

proxy対応無し版との違いは29~35行目の部分のみです。

続いてsetting.iniの内容です。

{ログインID}、{パスワード}、{あなたのサイトドメイン}を自身で管理しているwordpressの情報に、{proxy_server}、{port}、{プロキシサーバーのユーザID}、{同パスワード}を所属している組織のプロキシサーバーの情報に差し替えて利用します。

任意のWebサイトへの対応版

プログラムはproxy対応有り版、無し版共に変わりありません。

setting.iniの次の箇所を差し替えます。

参考)CSSセレクタの取得方法

以下の手順で取得します。

  1. Webサイト上の要素にカーソルを合わせ、右クリック→検証
  2. 表示されたChromeデベロッパーツールでハイライトされている箇所を右クリック
  3. Copy → Copy selector

参考)setting.iniファイルについて

外部ファイルであるsetting.iniファイルについては、以下の記事を参照してください。

python プログラムの直書きを外部ファイル化する話(configparserモジュール)
pythonのconfigparserモジュールを利用して、環境設定情報を外部ファイル化するプログラミングをしていきます。 このプログラムで出来る事 プログラム上に直書きしていた内容を外部ファイルにて管理できるようになります。 例えばログイ...

事前準備

モジュールの導入

ソースコードの動作にはpythonのインストールに加え、
seleniumモジュールの導入が必要です。
次のコマンドを実行します。

chromedriverのダウンロード

chromedriver.exeをここから取得し、プログラムファイルと同じフォルダに配置します。

終わりに

今回のプログラムでは対応しませんでしたが、プログラム実行時に展開してしまうコマンドプロンプトを表示しない方法もあるようです。

コメント

タイトルとURLをコピーしました