サイトに自動でログインするVBSのソース
事前に対象のWebサイトを開いて、F12キーを押下して、要素の名前を調べておく。
※Edge、Chromeなどのブラウザ
objIE.Visible = Trueの部分を
objIE.Visible = Falseにしておけば、ブラウザも表示されない。
========= 以下のソース ========
OpenUrl("http://XXXXXXXX.html","uid","user1","pass","xyz)
'URLを開く
Sub OpenUrl(URL,idElement,uid,passElement,pass,loginElement)
Dim objIE
'IE起動
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
'サイトに接続
objIE.navigate URL
'IEを待機
Call IEWait(objIE)
'5秒停止
Call WaitFor(2)
'ユーザーIDとパスワードを設定し、ボタンをクリック
Call IEValueSet(objIE, idElement,uid)
Call IEValueSet(objIE, passElement,pass)
Call IEImageClick(objIE, loginElement)
'IEを待機
Call IEWait(objIE)
'5秒停止
Call WaitFor(2)
'IE終了
objIE.Quit
Set objIE = Nothing
End Sub
'画像をクリックする関数
' タグの名前が「IMG」でリンク先が引数のimageSrcと一致している場合のみクリック
Public Function IEImageClick(ByRef objIE, imageSrc)
Dim objImage
For Each objImage In objIE.Document.getElementsByTagName("IMG")
If InStr(objImage.src, imageSrc) <> 0 Then
objImage.Click
Exit For
End If
Next
End Function
'値を設定する関数
Public Function IEValueSet(ByRef objIE, id, value)
Dim obj
Set obj = objIE.Document.getElementById(id)
obj.value = value
End Function
'ボタンをクリックする関数
Public Function IEButtonClick(ByRef objIE, id)
Dim objbutton
'button要素をコレクションとして取得
Set objbutton = objIE.document.getElementById(id)
objbutton.click
End Function
'IEを待機する関数
Function IEWait(ByRef objIE)
Do While objIE.Busy = True Or objIE.readyState <> 4
WScript.Sleep 1000
Loop
End Function
'指定した秒だけ停止する関数
Function WaitFor(ByVal second)
Dim count
For count = 1 To second
WScript.Sleep 1000
Next
End Function
登録:
コメントの投稿 (Atom)
PowerShellでDataSetのXMLの内容をシリアライズし、生成された文字列を再度デシリアライズする
修正前のテーブルの内容をXMLデータとして保存し、ログテーブルに格納することで、履歴を退避する Step1 DataSetをシリアライズしXML形式の文字列を作成する Step2 文字列をログテーブルへ保存する(普通にInsert) Step3 ログ...
-
TreeListView上でコンボボックスを利用するときにフォーカスのあるコンボボックスの色をイベントで変えようとしたけど上手くいかなかった。 色々と調べているとXaml側のテンプレートをいじる必要があるみたいだったので、いろいろとやってみた。 とりあえず、コンボボックス...
-
サイトに自動でログインするVBSのソース 事前に対象のWebサイトを開いて、F12キーを押下して、要素の名前を調べておく。 ※Edge、Chromeなどのブラウザ objIE.Visible = Trueの部分を objIE.Visible = Falseにしておけば...
-
開発中のプログラムがあまり進んでないのでSQLの小ネタ。 昔、よくあった遅いSQLの改善方法について、記載。 インデックスを張ったりするのもいいけど、SQLを作るときにデータをたくさん持ってきてまとめて条件分岐をCASE式でするだけで 圧倒的に速度が改善できる。 例えば...
0 件のコメント:
コメントを投稿