PythonでSeleniumを利用してWebサイトのログインを自動化する方法を現役エンジニアが解説【初心者向け】
初心者向けにPythonでSeleniumを利用してWebサイトのログインを自動化する方法について現役エンジニアが解説しています。Selenium(セレニウム)とはブラウザを自動で操作することがオートメーションツールです。Pythonでseleniumを利用してログインを自動化してみましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
PythonでSeleniumを利用してWebサイトのログインを自動化する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。
Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

今回は、Pythonに関する内容だね!

どういう内容でしょうか?

PythonでSeleniumを利用してWebサイトのログインを自動化する方法について詳しく説明していくね!

お願いします!
Seleniumとは
Selenium(セレニウム)とは、ブラウザを自動で操作することが可能なオートメーションツールです。
Seleniumを使用することでブラウザ上での様々な操作をプログラムで自動化することが可能です。
Seleniumのログイン処理の実装方法
Google chrome上での自動ログイン処理の実装方法について、みていきましょう。
まず、Chromeのインストールからスタートし、完了後にSeleniumのインストールを行います。
Seleniumはpipを使用してインストールできます。
ターミナル上では、下記コマンドを入力してインストールを行いましょう。
pip install selenium
次に、ログイン処理に使用するseleniumコマンドを紹介します。
ログインまでの一連の流れとして下記のような手順を行いましょう。
- 対象ページにアクセスする
- ログインページを開く
- ID・PASSを入力する
- ログインボタンをクリックする
URLを開くコマンド
.get(URL)
テキストボックスに入力するコマンド
.send_keys(“キーワード”)
クリックするコマンド
.click()
実際に書いてみよう
下記サンプルコードを参考にPythonでseleniumを利用して、Webサイトのログインを自動化する方法について解説します。
サンプルコード
# coding:utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time # ブラウザを開く。 driver = webdriver.Chrome(executable_path='ウェブドライバを設置したフルパス') # Googleの検索TOP画面を開く。 driver.get("https://www.yahoo.co.jp/") # 3秒待機 time.sleep(3) # ログインボタンをクリックする login_btn = driver.find_element_by_xpath('//*[@id="Login"]/div/p[1]/a') login_btn.click() # 1秒待機 time.sleep(1) # ログインIDを入力 login_id = driver.find_element_by_name("login") login_id.send_keys("ログインIDを入力") # 次へボタンをクリック next_btn = driver.find_element_by_name("btnNext") next_btn.click() # 1秒待機 time.sleep(1) # パスワードを入力 password = driver.find_element_by_name("passwd") password.send_keys("パスワードを入力") #ログインボタンをクリック login_btn = driver.find_element_by_name("btnSubmit") login_btn.click() #10秒待機 time.sleep(10) # ブラウザを終了する。 driver.close()
実行結果
コードを実行すると、ブラウザが自動で起動してYahooのトップページを開くことが可能です。
まず、ログイン画面へアクセスしID入力後、次へボタンをクリックしましょう。
次にパスワードを入力し、ログインボタンをクリックします。
ログイン処理後のYahooトップページが表示されました。
解説
コード8行目でseleniumを使用し、Yahooトップページへアクセスしています。
コード12-13行目は、トップページ上のログインボタンをクリックする設定です。
この時、ログインボタンの要素はXpath形式で’//*[@id=”Login”]/div/p[1]/a’を指定している状態です。
要素の取得方法は、
コード17-18は、send_keysを使用しログインIDを入力します。
コード20-21は、click()コマンドを使用し次へボタンをクリックする設定です。
コード25-26は、send_keysを使用しパスワードを入力しています。
コード28-29は、click()コマンドを使用してログインボタンをクリックしています。
実行すると、実行結果の一連の動作が自動で処理されることが確認できるでしょう。
要素の取得方法
1.要素を取得したいページを開いた状態で右クリック→検証を選択
2.ブラウザ右側に検証ツールのコンソールが出現するため、コンソール左上のセレクトボタンをクリックしてオン(青色)状態にする
3.取得したい要素をクリックして対象ソース部分をハイライトする
4,ハイライトしたソース上で右クリック→Copy→Copy Xpathを選択
これで要素がクリップボードに取得できるため、あとはプログラム上に貼り付けましょう。
まとめ
今回は、Pythonでseleniumを利用して、Webサイトのログインを自動化する方法について紹介しました。
この技術は、現在様々な分野で主力となってきているライブラリです。
ブラウザ上での様々な自動処理が可能になるため、応用範囲が広くなるでしょう。
実は私も!?独学で損する人の特徴
「スクールは高いから独学で成功する」という気持ちの方は多いと思います。
もちろんその方が金額は低く抑えられるでしょう。
ただ
独学には向き不向きがあり、実はスクールが向いている人も大勢います。
そんな方のために参考として、
テックアカデミー卒業生がスクールを選んだ理由
をご紹介します。
- ・困って挫折しそうなときに、質問や相談できる相手がいる環境で学んでいきたいなと思った
- ・わかった気になっているだけだったので、自分を追い込む環境に置いた方がいいと感じた
- ・スクールのカリキュラムで市場に求められるスキルを学ぶべきと思った

少しでも当てはまる部分があれば、
スクールが向いているかもしれません。
お試しのつもりで、まずは一度
無料相談
に参加してみませんか?
現役エンジニア・デザイナーに何でも気軽に相談できる30分
を
すべて無料で
できます。
無理な勧誘は一切ない
ので、お気軽にご参加ください。
執筆してくれたメンター
菅繕久(すがよしひこ)
現在はフリーランスのエンジニアをしていてプログラミング歴は8年目になります。 普段は Python、FileMaker等を使って様々な業務で活用できるIoTプロダクトRPAツールを作成しています。 開発実績としては、業務自動化ツール(在庫管理・発注・ファイル操作 etc)、電子カルテシステム、ロボット用プログラムなどがあります。 TechAcademyではPythonコースを担当しております。 |

PythonでSeleniumを利用してWebサイトのログインを自動化する方法がよく分かったので良かったです!

ゆかりちゃん、これからも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。

プログラミングを独学していて、このように感じた経験はないでしょうか?
- ・調べてもほしい情報が見つからない
- ・独学のスキルが実際の業務で通用するのか不安
- ・目標への学習プランがわからず、迷子になりそう
テックアカデミーでは、このような
学習に不安を抱えている方へ、現役エンジニア講師とマンツーマンで相談できる機会を無料で提供
しています。
30分間、オンラインでどんなことでも質問し放題です。
「受けてよかった」と感じていただけるよう
厳しい試験を通過した講師
があなたの相談に真摯に向き合います。
「ただ気になることを相談したい」
「漠然としているがプロの話を聞いてみたい」
こんな気持ちでも大丈夫です。
無理な勧誘は一切ありません
ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)