如何使用VB Script在特定位置自動保存文件?如何使用VB腳本處理IE下載對話框?
或者如何將文件下載到IE中的特定位置而不需要與下載對話框交互 ?
最終我需要從IE自動保存特定位置的文件。
謝謝。
如何使用VB Script在特定位置自動保存文件?如何使用VB腳本處理IE下載對話框?
或者如何將文件下載到IE中的特定位置而不需要與下載對話框交互 ?
最終我需要從IE自動保存特定位置的文件。
謝謝。
強制在Internet Explorer中下載文件是非常糟糕的做法。這也是一個安全風險。這就是爲什麼沒有本地方法來做到這一點。你能提供一個很好的理由來解決這個問題嗎?否則,我不會爲我剛纔陳述的原因提供解決方案。
這是用於我們的內部測試/自動化。我們嘗試使用AutoIt進行自動化,它在我們點擊下載等時起作用,但是當它們連接到RDP時,如果我們正在關閉RDP,則腳本會掛起。 – SmartSolution 2011-05-06 06:07:02
答案不是解決方案,而是評論。對於@Zugwalt的第一個解決方案,使用註冊表中的Windows自動登錄有一個很好的RDP問題解決方法:http://serverfault.com/questions/269832/windows-server-2008-automatic-user-logon-on -power-on/606130#606130 – 2014-07-22 15:17:57
可悲的是我的回答被刪除了...無論如何,一個簡單的解決方案是在Internet Explorer **中使用一個好的**下載管理器插件。 我嘗試了很多種類,但大多數都沒有**,沒有用戶交互**,所以不適合自動化任務。 這裏有一個免費軟件做的工作: http://www.majorgeeks.com/files/details/dlexpert.html 如果您遇到HTTPS,或其他驗證錯誤下載文件的問題,試試這個免費軟件來代替: http://www.orbitdownloader.com/download.htm – 2014-07-23 14:20:44
我們通過硒測試爲文件對話做的工作就是利用AutoIt這個免費的腳本編制工具,它可以創建與windows組件對象模型交互的可執行文件 - 包括文件保存對話框。
我會做的是製作一個簡單的腳本,將文件保存到您想要的位置,編譯爲可執行文件,然後在VBScript中調用該程序。
下面是我們用來下載excel文件的腳本,雖然它可能比您需要的複雜一點。
WinWait("File Download", "", 60)
WinActivate("File Download")
IF WinActive("File Download") Then
Sleep (500)
SendKeepActive ("File Download")
Send("!s")
WinWait("Save As")
WinActivate("Save As")
Sleep (500)
SendKeepActive ("Save As")
If $CMDLine[0] > 0 Then
Send($CMDLine[1])
ELSE
Send("C:\Windows\Temp\latestAutotestExport.xls")
ENDIF
Send("!s")
Sleep (500)
If WinActive("Save As") Then
WinActivate("Save As")
Sleep (500)
SendKeepActive ("Save As")
Send("!y")
Sleep (15000)
EndIf
If WinActive("Download complete") Then
WinClose("Download complete")
EndIf
WinClose("Blank Page - Windows Internet Explorer")
Else
WinActivate("Microsoft Office Excel")
IF WinActive("Microsoft Office Excel") Then
Send("y")
EndIf
Sleep(500)
Send("{F12}")
If $CMDLine[0] > 0 Then
Send($CMDLine[1])
ELSE
Send("C:\Windows\Temp\latestAutotestExport.xls")
ENDIF
Send("!s")
Send("y")
Send("!y")
Send("!y")
Sleep(5000)
ProcessClose("EXCEL.EXE")
Sleep(5000)
WinClose("Blank Page - Windows Internet Explorer provided by Yahoo!")
EndIF
謝謝@zugwalt但是,當RDP關閉時,AutoIt不工作。這就是我們尋找替代解決方案的原因。或者如果你可以建議讓這個腳本在鎖定的RDP上工作。或者有些工作? – SmartSolution 2011-05-06 06:06:20
AutoIt將需要使用瀏覽器在實際機器上運行,而不是通過網絡運行。 – Zugwalt 2011-05-06 15:08:57
你考慮過AutoIT嗎? – 9ikhan 2011-04-29 03:51:02
是的,我們嘗試過使用AutoIT,它在RDP打開的情況下起作用。但是當我們關閉RDP時,AutoIT腳本會掛起。 – SmartSolution 2011-05-06 06:08:30