我有一个VBA宏,在这个过程中打开了几个Chrome窗口。在每个窗口中,我需要执行不同的操作,为此,我需要在它们之间切换。我能以某种方式获得VBA中打开的Chrome窗口或其句柄的名称列表吗?这样的方法在VBA中不起作用:
driver.getWindowHandles
driver.getWindowNames
在JS中,您可以获得窗口名称:
window_name = driver.ExecuteScript("return window.name;")
也许有一种方法可以获得所有窗口的名称,并在VBA中循环使用它们?
我找到了或多或少解决这个问题的方法。
我们将要打开的每个窗口的名称保存在变量中
window_count = driver.Windows.Count 'count all chrome windows
i = 0
For i = 1 To window_count
If driver.Windows.item(i).Title <> "SomeTitle 1" And driver.Windows.item(i).Title <> "SomeTitle 2" Then
window_name = driver.Windows.item(i).Title 'at this moment the desired window is
'activated and you can work in it even
'without driver.SwitchToWindowByTitle
MsgBox driver.URL
End If
Next i
我认为这不是解决这个问题的最佳方案,但据我所知,到目前为止我还不能