想知道是否有人能帮我做以下事情?我想:a( 查找当前打开的浏览器窗口b( 导航到同一选项卡内的网页(不打开新窗口(
我似乎找不到我想要的东西,如果我使用shellexecute,我可以打开一个浏览器窗口,但如果已经打开,它会打开一个带有URL的"新"选项卡,而不是替换现有的URL。
如何更换?我想用EnumProc之类的东西来查找现有的浏览器窗口,但后来我不知道一旦找到窗口句柄,我需要做什么来更改url?(这与sendkeys有关吗?或者-有什么东西我可以专门用来更改当前的浏览器窗口吗?或者这取决于浏览器(即chrome与MSIE与firefox(。
不过,最重要的是在相同的选项卡中导航到不同的页面,而不是经常打开新实例。
非常感谢!
如果我只是专注于MSIE,我该怎么做?
Windows通过COM公开Shell Windows集合,该集合包括Explorer&IE窗口-在后一种情况下,每个选项卡将获得一个窗口,因此:
Dim shApp: Set shApp = CreateObject("Shell.Application")
Dim shWnd: Set shWnd = shApp.Windows()
Dim i As Variant, ie As Object
For i = 0 To shWnd.Count - 1
If shWnd.Item(i).Name = "Internet Explorer" Then
'// got an IE tab
Set ie = shWnd.Item(i)
'// is it the tab we want - based on url
If (LCase$(ie.LocationUrl) = "https://stackoverflow.com/") Then
'// if so send it somewhere else
ie.Navigate2 "http://reddit.com"
End If
End If
Next