2017-09-02 60 views
0

我需要自動運行此腳本,但使用urllist.txt文件中指定的不同url。重複多個網址的vbs腳本

Dim objWshShell,IE,searchStr 

Set objWshShell = Wscript.CreateObject("Wscript.Shell") 
Set IE = CreateObject("InternetExplorer.Application") 

With IE 
    .Visible = True 
    .Navigate "url.com" 

    Do While .Busy 
    WScript.Sleep 100 
    Loop 

set objButtons = IE.document.getElementsByTagName("button") 
for each objButton in objButtons 
    strText = objButton.innerhtml 

    if InStr(strText,"rtes") > 0 then 
    'msgbox strText 
objButton.click 
     exit for 
     end if 
next 
end with 
ie.quit 

內容urllist.txt中:

url1.com url2.com ...

能否請你幫忙嗎?

+0

逐行讀取使用的文件系統對象的文本文件行。對於每一行,執行你粘貼的代碼。 – Gurman

+0

謝謝。現在我可以從urllist.txt讀取URL。 如何導航我的腳本到這些URL並讓腳本完成這項工作? 我加入這個在VBScript中的頂部: 文件名= 「urllist.txt中」 設置FSO =的CreateObject( 「Scripting.FileSystemObject的」) 集F = fso.OpenTextFile(文件名) 做,直到f.AtEndOfStream WScript.Echo f.ReadLine Loop f。關閉 –

+0

剛剛發佈在答案中。只需將您的url文件的路徑存儲在變量中並運行代碼即可。 – Gurman

回答

0

打開文本文件,使用readline方法逐行讀取它,併爲每行運行您的代碼。

代碼:

Dim IE,searchStr, objFso, objFile, strFilePath 
strFilePath = "store the file's path in this variable" 'store the path here 
Set IE = CreateObject("InternetExplorer.Application") 
IE.visible=True 
Set objFso = createObject("Scripting.FileSystemObject") 
Set objFile = objFso.OpenTextFile(strFilePath,1) 
While Not objFile.AtEndOfStream 
    IE.Navigate trim(objFile.Readline) 
    Do While IE.Busy 
     WScript.Sleep 100 
    Loop 
    set objButtons = IE.document.getElementsByTagName("button") 
    for each objButton in objButtons 
     strText = objButton.innerhtml 
     if InStr(1,strText,"rtes") > 0 then 
      'msgbox strText 
      objButton.click 
      exit for 
     end if 
    next 
Wend 
IE.Quit 
objFile.Close 
Set objFile = Nothing 
Set objFso = Nothing 
Set IE = Nothing 
+0

幾個網址運行完美,但過了一段時間後停止。如果關閉IE,800A01CE錯誤代碼會附帶VBScript運行時錯誤消息。 我需要在某個地方設置睡眠時間嗎? –

+0

你能通過編輯你的問題在這裏分享你的文本文件的URL嗎?會嘗試跑在我身邊。 – Gurman

+0

我試圖在facebook組中按按鈕來設置每組中的警報。看起來,Facebook需要一些時間來啓用下一個動作。我增加了睡眠到20000.現在它再次運作。 –