我正在尝试编写一个vb脚本来执行以下
- 启动Chrome
- 导航到指定的网站
- 循环并不断刷新特定选项卡
我可以使用以下代码让#1和#2工作。刷新同样有效。唯一的问题是刷新发生在活动的窗口上。AppActivate部分——本应将焦点转移到给定窗口——不起作用。此处编码。
Dim iURL
Dim objShell
iURL = "SampleURL"
set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "chrome.exe", iURL, "", "", 1
Do While True
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.AppActivate "Remote Access Asia - Google Chrome"
WSHShell.SendKeys "{F5}"
WScript.Sleep 30000 ' 30 seconds
Loop
我使用的窗口标题是通过使用tasklist命令(tasklist/v/FO:CSV(确定的。我已经尝试过使用显示的标题的各种版本(子字符串(。我也使用过chrome.exe,但没有任何帮助。刷新不仅限于Chrome的标签页,其他应用程序也会进行刷新,例如记事本。
任何想法都将不胜感激。
您的代码在我已经打开的Chrome窗口中运行良好。问题可能与ShellExecute
有关。我成功地使用了Run
,并确保使用--new-window
参数在自己的窗口中打开网站。CreateObject
也没有必要在While
循环中。这样试试:
Set oWSH = CreateObject("WScript.Shell")
URL = "SampleURL"
oWSH.Run "chrome.exe --new-window " & URL
Do While True
oWSH.AppActivate "Remote Access Asia - Google Chrome"
oWSH.SendKeys "{F5}"
WScript.Sleep 30000 '30 seconds
Loop