Kuni/JA1UZGのもろもろブログを最新の情報に更新

色々チャレンジしていますが、記載内容は無保証です。各自の責任でお願いします。    . .
前月 << August 2019 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>翌月
 
RECENT COMMENT
  • アマゾンを語る詐欺
    SYSOP (08/21)
  • アマゾンを語る詐欺
    JE1CVL (08/21)
  • KENWOOD/ICOM用の電源ケーブルを作成しました
    SYSOP (08/03)
  • KENWOOD/ICOM用の電源ケーブルを作成しました
    油断大切 (08/03)
  • KENWOOD/ICOM用の電源ケーブルを作成しました
    SYSOP (08/03)
  • KENWOOD/ICOM用の電源ケーブルを作成しました
    油断大切 (07/31)
  • SAIのエンジン無償修理その2
    SYSOP (07/29)
  • 奥日光に行きました
    SYSOP (07/29)
  • SAIのエンジン無償修理その2
    Neo (07/29)
  • 奥日光に行きました
    Neo (07/26)
RECENT TRACKBACK
ARCHIVES
 
アマゾンの配送業者 デリバリープロバイダ の荷物追跡
路肩の花

最近・・アマゾンの配達は「デリバリープロバイダ」となる事が多い様です。
配達コストダウンの為と思われますが、追跡がしにくい
てなわけで、スクリプトを作ってみました。
別サイト用のスクリプトを最小限の修正で利用していますので、本来 "TrackingNumber1" とするべき所が "Account1" となっています。
細かい所は見なかった事にして下さい。

以下を hogehoge.vbs 等の名称で保存して下さい。
荷物の番号はゼロの所に適当に入れて下さい。
とりあえず、5個の荷物まで同時に追跡出来るようにしてあります。

REM --- ここから ----
Option Explicit
Dim obj, WSHShell
Const ErrMsgTxt = "デリバリープロバイダ荷物番号検索エラー"
Const pageURL = "https://track-a.tmg-tms.com/cts/TmgCargoSearchAction.do?method_id=INIT"

Const Account1 = "000000000000" 'ここに荷物番号を入れる
Const Account2 = ""
Const Account3 = ""
Const Account4 = ""
Const Account5 = ""

REM ===
REM WScript IE 開始
REM ===
Set WSHShell=CreateObject("WScript.Shell")
Set obj = WScript.CreateObject("InternetExplorer.Application")
WScript.Sleep(200)
obj.Navigate pageURL
WScript.Sleep(200)
obj.Visible = True
S_IE_Wait obj
WScript.Sleep(200)
S_IE_Activate
WScript.Sleep(200)
obj.document.forms(0).elements("inputData[0].inq_no").value = Account1
WScript.Sleep(100)
obj.document.forms(0).elements("inputData[1].inq_no").value = Account2
WScript.Sleep(100)
obj.document.forms(0).elements("inputData[2].inq_no").value = Account3
WScript.Sleep(100)
obj.document.forms(0).elements("inputData[3].inq_no").value = Account4
WScript.Sleep(100)
obj.document.forms(0).elements("inputData[4].inq_no").value = Account5
WScript.Sleep(100)
obj.document.forms(0).elements("search").Click
WScript.Sleep(200)
Set obj = Nothing

REM ======== IEが安定するまで待機 =======================
Private Sub S_IE_Wait ( ByRef objIE_ )
Const TimeOut = 30000 'ミリ秒単位
Const CheckTime_ = 200
Dim t_

t_ = 0
Do While objIE_.busy
t_ = t_ + CheckTime_
If t_ > TimeOut Then
MsgBox "IE Time Out error. [IE.busy]", _
vbSystemModal + vbCritical, ErrMsgTxt & " [IE.busy]"
WScript.Quit ' メインプログラム終了
End If
WScript.Sleep(CheckTime_)
Loop
t_ = 0
Do While objIE_.Document.readyState <> "complete"
t_ = t_ + CheckTime_
If t_ > TimeOut Then
MsgBox "IE Time Out error. [complete]", _
vbSystemModal + vbCritical, ErrMsgTxt & " [complete]"
WScript.Quit ' メインプログラム終了
End If
WScript.Sleep(CheckTime_) :
Loop
End Sub

REM ======== iexplore.exe をアクティブに ============
Private Sub S_IE_Activate
Dim Lt__, Sv__, En__, Sh__, It__

WScript.Sleep(200)
Set Sh__ = CreateObject("WScript.Shell")
'起動中のプロセスの一覧から iexplore.exe を検索
Set Lt__ = CreateObject("WbemScripting.SWbemLocator")
Set Sv__ = Lt__.ConnectServer
Set En__ = Sv__.InstancesOf("Win32_Process")
For Each It__ In En__
If Not IsEmpty(It__.ProcessID) Then
If InStr(It__.Description, "iexplore.exe") Then
Sh__.AppActivate(It__.ProcessID)
' Exit For
End If
End If
Next
WScript.Sleep(200)
Set Sh__ = Nothing
Set En__ = Nothing
Set Lt__ = Nothing
End Sub
REM --- ここまで ---
コメント
コメントする









 
トラックバック
この記事のトラックバックURL
http://blog1.bakw.sub.jp/trackback/1089782