タイトルのテキスト
タイトルのテキスト
タイトルのテキスト
タイトルのテキスト

自動ログインを行うVBAのプログラム【Seleniumベーシック】

Python VBA

t f B! P L

 

プログラムのイメージ

前回はPythonで自動ログインを行うプログラムを作ったので、同じことをVBAでも同様のことを行うプログラムを作りました。

〇つくったコード

今回は下記のコードを動かすために、事前準備が必要です。

1 selenium Basicのダウンロード

下記ギットハブのホームページよりselenium Basicをダウンロード

https://github.com/florentbr/SeleniumBasic/releases/tag/v2.0.9.0

ダウンロードした際、chromeドライバーを入れ替えないといけないので、ダウンロードしたフォルダーを開いておかないといけません。

フォルダーの場所は以下になります。

%LOCALAPPDATA%\SeleniumBasic

2 chromeドライバーのダウンロード

下記のホームページより適応したドライバーをダウンロードする。

https://sites.google.com/a/chromium.org/chromedriver/downloads

3 chromeドライバーの入れ替え

selenium Basicのフォルダーにあるchromeドライバーを最新のに入れ替える(コピペ)

4 VBEでの参照設定

VBEの参照設定で、「Selenium Type Library」にチェックを入れる。

以上の環境設定を行い、下記のコードを標準モジュールに書くとウェブページを開いて、ログインをしてくれます。

Sub セレニウムベーシックを使った自動ログイン()

driver As New selenium.ChromeDriver 

driver.Start ("chrome")

driver.Get (タイムズのログイン画面のURL)

driver.FindElementByName("カードナンバー1のname値").SendKeys ("任意の番号")

driver.FindElementByName("カードナンバー2のname値").SendKeys ("任意の番号")

driver.FindElementByName("passwordのname値").SendKeys ("任意のパスワード")

driver.FindElementByName("ログインボタンのname値").Click

Application.Wait (Now + TimeValue("00:01:45"))

  End Sub

〇つくったコードの解説

・モジュールの名前

Sub セレニウムベーシックを使った自動ログイン()

・ドライバーの宣言

driver As New selenium.ChromeDriver 

・ドライバーでchromeを使います

driver.Start ("chrome")

・ウェブページを取得

driver.Get (タイムズのログイン画面のURL)

・ログイン画面からネーム値を読み取ってカードナンバーを入力

driver.FindElementByName("カードナンバー1のname値").SendKeys ("任意の番号")

・ログイン画面からネーム値を読み取ってカードナンバーを入力

driver.FindElementByName("カードナンバー2のname値").SendKeys ("任意の番号")

・ログイン画面からネーム値を読み取ってパスワードを入力

driver.FindElementByName("passwordのname値").SendKeys ("任意のパスワード")

・ログインボタンをクリック

driver.FindElementByName("ログインボタンのname値").Click

・プログラムを1分45秒止めています。

Application.Wait (Now + TimeValue("00:01:45"))

・終わり

  End Sub

〇まとめ

VBAでもSeleniumを使って、ウェブページの自動ログインができました。

Pythonとは書き方が少し違う程度で、やり方はほとんど同じです。

僕はVBAの方が仕事ではよく使うので、使いやすかったです。

ここから必要な情報のみをテキストで読み込んだりと使い方はいろいろとできそうです。

 

koneka1208

koneka1208

自己紹介

自分の写真
エクセル好きの窓際会社員です。 エクセルの操作法や日々の会社で得た知見などを発信していきます。 よろしくお願いします。

ブログ アーカイブ

連絡フォーム

名前

メール *

メッセージ *

QooQ