ホーム > IT > VBS > WSH VBScript (VBS) 書き方 構文 作り方
目次 | 元のページ 前のページ | 次のページ サイトマップ | ページEND

自動ログイン用 VBSサンプル集 WSH VBScript 書き方 構文 作り方


自動ログイン用 VBSサンプル集 WSH VBScript (VBS) 書き方 構文 作り方



ブラウザ 「Internet Explorer」 を用いて、銀行、証券会社等各種 Web サイトに自動ログインする為の WSH VBScript (VBS) の書き方、構文について説明しています


Set objShell = WScript.CreateObject("WScript.Shell")
objShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Zoom\ZoomFactor",100000,"REG_DWORD"

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True

objIE.FullScreen = False
objIE.Top = 0
objIE.Left = 0
objIE.Width = 1280
objIE.Height = 964

objIE.Toolbar = True
objIE.MenuBar = True
objIE.AddressBar = True
objIE.StatusBar = True
お約束の部分ですので、基本的にはこのままコピーして使用するということで問題ないかと思います


Set objIE = CreateObject
("InternetExplorer.Application")

の構文で、「Internet Explorer」のウインドウを作成しています
objIE.Navigate2 "https://ib.aozorabank.co.jp/AZIK/
BankIK?xtr=aulogon01000&NLS=AZIKP"
自動ログインしたい Web サイトの URL を指定します
Do Until objIE.Busy = False
    WScript.sleep(250)
Loop
指定サイトが開いたかどうかを250ミリセック(4分の1秒)間隔でチェックし、開くのを待ちます
objIE.Document.f1.UserID.value = "契約番号"
objIE.Document.f1.SoftKeyMode.checked = False
objIE.Document.f1.pass.value = "パスワード"
objIE.Document.f1.logon.Click
<ユーザID、パスワード等入力部分>
この部分は、実際にアクセスした Web ページの構成がどうなっているかを調べ、それに応じて書換える必要があります
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.AppActivate "Explorer"
お約束の部分ですので、基本的にはこのままコピーして使用するということで問題ないかと思います
' コメント行 <コメント行>
行の先頭に、シングルクォーテーション「'」を付けると、その行はコメント行(説明等を記述するための実行されない行)となります




ユーザID、パスワード等入力部分作成の為の情報入手方法



この部分は、自動ログインしたい実際のログインページに合わせて作成する必要があります


自動ログインしたいページを 「Internet Explorer」 で開き、「Internet Explorer」 上部メニューバーから、「表示」 → 「ソース」をクリックして、自動ログインしたいページの 「HTML ソースコード」を取得します




自動ログインしたいページを 「Internet Explorer」 で開き、「Internet Explorer」 上部メニューバーから、「表示」 → 「ソース」をクリックして、自動ログインしたいページの 「HTML ソースコード」を取得します
例えば、こんな感じで「HTML ソースコード」が取得されます

例えば、こんな感じで「HTML ソースコード」が取得されます

このままでは使い辛いかと思いますので、使い慣れたエディター(さくらエディター等)がありましたら、内容をそのままコピーして、エディター上で操作した方が楽かと思います

必要な情報は、「フォーム名」、「項目名」、ページ送信(サブミット)の方法です

まずは、「name」で検索してみましょう


必要な個所に名前が付けられていれば、それで必要な情報 = 各「名前」が得られるのですが、「名前」の付けられていないページも少なくありませんので、その場合、下記の記述例を参考に試行錯誤してみる必要があります




ユーザID パスワード等 入力部分の簡単作成方法 (フォーム番号 項目番号 指定操作)



「name」で検索してみても、よく分からない場合、もしくは、そもそも名前が付けられていない場合、または、いちいち名前を探すなんて面倒くさいという場合、フォーム番号、項目番号指定入力、及び、クリックでまずは試してみましょう

それでログインできれば、それはそれで良しということで ・・・

※.フォームには名前が付けられていない事の方が多く、項目についても、名前が付けられていないことは、多々あります




フォーム番号 項目番号 それぞれの番号の求め方



フォーム番号、項目番号ともに、「0」からスタートして、順次実行してみて、エラーメッセージ(「オブジェクトでサポートされていないプロパティまたはメソッドです」等)、および、実際に開かれたWebページの動き、項目に値が入力されるかどうか、どこに入力されるか等を見て、番号を「1」づつ増やしていきます



フォーム番号 項目番号 指定の記述例



spaaqs 光.vbs
フォーム(Forms)、および、項目(Item)に名前が付けられていないため、それぞれの番号で入力、項目番号でクリック送信しています フォーム名 フォーム番号
項目名 項目番号
送信 項目番号.Click
objIE.Document.Forms(0).item(5).value = "お客様番号"
objIE.Document.Forms(0).item(6).value = "パスワード"
'objIE.Document.Forms(0).item(7).click




ユーザID、パスワード等入力部分の記述例



基本構文



ID、パスワード等の値の入力 objIE.Document.「フォーム名」.「項目名」.value = "「入力値」"
値入力後のページ送信(サブミット) objIE.Document.「フォーム名」.「項目名」.Click



記述例




じぶん銀行 (SMBC日興証券、JCB、au お客様サポート)
フォーム(Forms)、項目(Item)ともに名前が付けられていて、フォーム自体をサブミット(送信)してログインするケースです フォーム名
項目名
送信 フォーム名.Submit
objIE.Document.frmLogon.fldLoginUserCRN1.value = "お客さま番号 上5桁"
objIE.Document.frmLogon.fldLoginUserCRN2.value = "お客さま番号 下5桁"
objIE.Document.frmLogon.fldPassword.value = "ログインパスワード"
objIE.Document.frmLogon.Submit
マネックス証券
フォーム(Forms)には名前が付けられていますが、項目(Item)には、名前が付けられていない為、フォーム内の先頭からの順番番号で、項目を特定 しています フォーム名
項目名 項目番号 ※
送信 フォーム名.Submit
objIE.Document.F1.Item(0).value = "ログインID"
objIE.Document.F1.Item(1).value = "パスワード"
objIE.Document.F1.Submit
※ 項目番号は、そのページ内で先頭から何番目の項目かを表し、Item(0)から数えます
カブドットコム証券 (楽天カード、賢索くん)
項目(Item)には名前が付けられていますが、フォーム(Forms)に名前が付けられてないため、フォームの順番番号で操作、サブミット(送信)するケースです フォーム名 フォーム番号 ※
項目名
送信 フォーム番号.Submit ※
objIE.Document.Forms(1).SsLogonUser.value = "口座番号"
objIE.Document.Forms(1).SsLogonPassword.value = "パスワード"
objIE.Document.Forms(1).Submit
※ フォーム(Forms)番号は、そのサイトへアクセスした際の先頭からの画面番号ですが、分かり難いことが多いため、Forms(0)から始め、数字を1づつ増やしながら総当たりしてみる必要が生じます
Oki Doki ランド
フォーム(Forms)、および、項目(Item)に名前が付けられていないため、それぞれの番号で操作、サブミットしています フォーム名 フォーム番号
項目名 項目番号
送信 フォーム番号.Submit
objIE.Document.Forms(1).Item(2).value = "MyJCB ID"
objIE.Document.Forms(1).Item(3).value = "パスワード"
objIE.Document.Forms(1).Submit
あおぞら銀行 ※ (EZナビ)
フォーム(Forms)、項目(Item)ともに名前が付けられていて、「ログイン」をクリックしてログインするケースです フォーム名
項目名
送信 項目名.Click
objIE.Document.f1.UserID.value = "契約番号"
objIE.Document.f1.SoftKeyMode.checked = False
objIE.Document.f1.pass.value = "パスワード"
objIE.Document.f1.logon.Click
三菱UFJ信託銀行
フォーム(Forms)、入力用項目(Item)ともに名前が付けられていますが、送信用項目名が不明なため、フォーム内の先頭からの順番番号で click しています フォーム名
項目名
送信 項目番号.Click
objIE.Document.GLG01010101Form.userId.value = "会員番号"
objIE.Document.GLG01010101Form.SoftKeyMode.click
objIE.Document.GLG01010101Form.password1.value = "パスワード"
objIE.Document.GLG01010101Form.Item(7).click
ジャパンネット銀行 (年金)
項目(Item)には名前が付けられていますが、フォーム(Forms)に名前が付けられていなく、「ログイン」をクリックしてログインするケースです フォーム名 フォーム番号
項目名
送信 項目名.Click
objIE.Document.Forms(0).TenNo.value = "店番号"
objIE.Document.Forms(0).KozaNo.value = "口座番号"
objIE.Document.Forms(0).Pw.value = "パスワード"
objIE.Document.Forms(0).login.Click
ハローワーク
項目(Item)には名前が付けられていますが、フォーム(Forms)に名前が付けられていなく、送信方法が不明なケースです フォーム名 フォーム番号
項目名
送信 未解明
objIE.Document.Forms(0).kyushokuUmu(0).checked = True
objIE.Document.Forms(0).kyushokuNumber1.value = "求職番号上5桁"
objIE.Document.Forms(0).kyushokuNumber2.value = "求職番号下7桁"
objIE.Document.Forms(1).kyushokuUmu2(0).checked = True
objIE.Document.Forms(1).kyushokuNumber3.value = "求職番号上5桁"
objIE.Document.Forms(1).kyushokuNumber4.value = "求職番号下7桁"
楽天銀行
フォーム(Forms)には名前が付けられていますが、項目(Item)には名前が付けられていない為、フォーム内の先頭からの順番番号で、項目を特定 しています フォーム名
項目名 項目番号
送信 項目番号.Click
objIE.Document.LOGIN.Item(0).value = "ユーザID"
objIE.Document.LOGIN.Item(1).value = "パスワード"
objIE.Document.LOGIN.Item(2).Click
ジョブコネクト
フォーム(Forms)には名前が付けられていますが、項目(Item)には名前が付けられていない為、フォーム内の先頭からの順番番号で、項目を特定 し、送信方法が不明なケースです フォーム名
項目名 項目番号
送信 未解明
objIE.Document.aspnetForm.Item(2).value = "ログインID"
objIE.Document.aspnetForm.Item(3).value = "パスワード"
三菱UFJMS証券
フォーム(Forms)には名前が付けられていますが、項目(Item)ではなく、その要素(elements)番号で指定するケースです フォーム名
項目名 要素番号
送信 all("SUBMIT").Click
objIE.Document.forms("form").elements("ACCOUNTUID").value = "口座番号"
objIE.Document.forms("form").elements("PASSWORD").value = "パスワード"
objIE.Document.forms("form").all("SUBMIT").Click
toto
フォーム(Forms)には名前が付けられていますが、項目(Item)ではなく、その要素(elements)番号で指定するケースで、送信方法が未解明です フォーム名
項目名 要素番号
送信 未解明
objIE.Document.Forms("MPA01Form").elements("idOrNicknam").value = "会員ID"
objIE.Document.Forms("MPA01Form").elements("passwd").value= "パスワード"
spaaqs 光.vbs
フォーム(Forms)、および、項目(Item)に名前が付けられていないため、それぞれの番号で入力、項目番号でクリック送信しています フォーム名 フォーム番号
項目名 項目番号
送信 項目番号.Click
objIE.Document.Forms(0).item(5).value = "お客様番号"
objIE.Document.Forms(0).item(6).value = "パスワード"
'objIE.Document.Forms(0).item(7).click
三菱東京UFJ銀行
フォーム(Forms)、入力用項目(Item)ともに名前が付けられていますが、送信用項目名が不明なため、画像ファイル(gif)を手掛かりに検索し、click しています フォーム名
項目名
送信
objIE.Document.MainForm.KEIYAKU_NO.value = "契約番号"
objIE.Document.MainForm.PASSWORD.value = "パスワード"
For n = 0 To objIE.Document.images.Length - 1
    Set objIMG = objIE.Document.images(n)
    If InStr(objIMG.src, "https://directg.s.bk.mufg.jp/refresh/imgs/_DIRECT_IMAGE/LOGINOUT/btn_login_off.gif") > 0 Then
    objIMG.Click
Exit For
End If
Next
※ 「btn_login_off.gif」を手掛かりにループして検索して求めています


※. あおぞら銀行は、2016年9月25日現在、あおぞら銀行側の仕様変更にてフォーム名が削除されており、フォーム名の代わりに、「 Forms(0) 」で指定する必要があります

このページは、「記述例」の一覧を示す為、そのまま(旧仕様のまま)残してありますので、このページをご参考に、あおぞら銀行ログイン用VBSを作成する際は、下記ページも合わせてご参照されることをおすすめします

  「 自動ログイン用 VBSサンプル集 銀行編 」  (別ウィンドウ(タブ)が開きます)




ログイン失敗エラーメッセージ



構文に誤り、もしくは、指定誤りがある場合、左記のようなエラーメッセージが表示されますので、エラーの箇所(この例では、22行目の5文字目)を修正します 構文に誤り、もしくは、指定誤りがある場合、例えば、左記のようなエラーメッセージ(オブジェクトでサポートされていないプロパティまたはメソッドです)が表示されますので、エラーの箇所(この例では、22行目の5文字目)を修正します

目次 | 元のページ 前のページ | 次のページ サイトマップ | ページTOP
ホーム > IT > VBS > WSH VBScript (VBS) 書き方 構文 作り方
   

© 2014 abhp.net All Rights Reserved.
自動ログイン用 VBSサンプル集 目次
WSH VBScript とは 書き方 構文
WSH VBScript とは 前のページ
WSH VBScript (VBS) 書き方 構文 作り方 現在のページ
WSH VBScript (VBS) 自動ログイン用 サンプル集
銀行編 次のページ
証券会社編
カード編
官公庁編
ネットワーク サービス編
その他編

参考情報


7.1 IEオブジェクトを作る(~IE6編) [VBScript Tips]
7.11 IEオブジェクトを作る(IE7編) [VBScript Tips]
7.2 IE画面を表示・非表示にする [VBScript Tips]
7.3 ウィンドウの操作 [VBScript Tips]
7.4 指定したページを表示 [VBScript Tips]
7.5 ページを書き込む [VBScript Tips]
7.6 ページのタイトルを取得する [VBScript Tips]
7.7 BODY部のHTMLを取得する [VBScript Tips]
7.8 フォームの操作1 [VBScript Tips]
7.9 フォームの操作2 [VBScript Tips]
7.9 フォームの操作3 [VBScript Tips]

コンテンツ一覧

ページTOP
ページTOP
ページTOP
ページTOP