使用Selenium VBA:如何访问其他应用程序打开的Chrome窗口?

时间:2020-10-07 02:34:06

标签: vba selenium google-chrome

我在Windows 10下使用Excel VBA Selenium。 我想访问一个Chrome窗口,该窗口以前是由另一个应用程序打开的,其名称只有第一部分是已知的,其余的是每次创建时都会更改的代码。在活动的Chrome浏览器中,它与其他选项卡一起打开。

为了用Selenium启动Chrome,我所要做的就是

Set dr = New ChromeDriver

这将创建一个对象“ dr”。当我查找dr的属性时,属性“ Windows”显示该值 “ BrowserNotStartedError /浏览器未启动。请先致电Get,Start或StartRemote。”

启动或获取两者均创建一个新的Chrome实例,该实例不允许我访问已打开的实例中的窗口。 我试图在不带“新建”的情况下使用此代码,但这不起作用。 我没有找到有关如何在现有 Chrome实例上工作的提示。有可能吗? 如果没有,我如何才能访问任何现有窗口?该网址是唯一的,出于安全原因,只能由第三方应用程序创建。如果我尝试将URL复制到新的Chrome实例,则会收到身份验证错误,因此这不是一种选择。 该网页基本上包含一个菜单,该菜单使我能够安全地下载某些要自动执行的数据。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我的问题已解决。 使用适用于Chrome的Selenium驱动程序,无法访问未使用Selenium创建的Chrome选项卡。 根据{{​​3}},这可以通过使用Shell / Internet Explorer抓住现有IE窗口上的句柄来完成。当然,在这种情况下,应用程序必须使用IE创建HTML文件,即默认浏览器必须是IE。