如何通过Selenium Chrome VBA在已运行的Chrome会话中打开新标签页?
在已运行的Chrome Selenium会话中打开新标签页的方法
方法1:通过JavaScript代码打开(推荐,稳定性高)
直接执行JS命令打开新标签,可直接指定目标URL,之后切换到新标签即可操作:
' 打开新标签并跳转至目标网址 Driver.ExecuteScript "window.open('https://你的目标网址.com', '_blank')" ' 切换到新打开的标签页(VBA中WindowHandles是基于1的索引) Driver.SwitchTo.Window(Driver.WindowHandles(Driver.WindowHandles.Count))
方法2:模拟快捷键打开
利用Ctrl+T快捷键新建标签,再导航到目标网址:
' 发送Ctrl+T快捷键新建标签 Driver.SendKeys Keys.Control & "t" ' 切换到新标签页 Driver.SwitchTo.Window(Driver.WindowHandles(Driver.WindowHandles.Count)) ' 在新标签中打开目标网址 Driver.Get "https://你的目标网址.com"
补充:附加到手动打开的Chrome会话(如果会话不是由Selenium启动)
如果要在你手动打开的Chrome窗口中操作,需先启动Chrome时开启远程调试:
- 关闭所有Chrome窗口,然后用命令行运行:
chrome.exe --remote-debugging-port=9222 - 在VBA中连接到该会话:
Set Driver = New Selenium.ChromeDriver ' 指定调试地址连接已运行的Chrome Driver.SetCapability "debuggerAddress", "localhost:9222" Driver.Start ' 启动驱动并附加到现有会话 ' 之后即可用上述两种方法打开新标签页
内容的提问来源于stack exchange,提问作者d r
相关产品推荐
相关产品推荐

