我使用Selenium.ChromeDriver在VBA上编写了一个宏,它打开了网站并为其提供了各种操作。但问题是,如果宏中发生错误,我在调试模式下单击“停止”,则浏览器关闭。问题是当您关闭浏览器并打开它时,您必须每次都输入您的登录名和密码。如果宏结束或发生错误,如何避免关闭通过Chrome驱动程序打开的浏览器?这样做了
Public Driver as new ChromeDriver
但这没有帮助,浏览器关闭。
需要一些更多的代码,但需要一些指针
debug
而不是end
,浏览器应保持打开状态.Quit
。但是,如果您希望使用reconnect with that instance,则需要获取会话ID,或者将驱动程序对象传递给任何接收子。只记得在某些时候退出。以下是打开另一个标签的方法:
Option Explicit
'download selenium https://github.com/florentbr/SeleniumBasic/releases/tag/v2.0.9.0
'Ensure latest applicable driver e.g. ChromeDriver.exe in Selenium folder
'VBE > Tools > References > Add reference to selenium type library
Public Sub DownloadFile()
Dim d As WebDriver
Set d = New ChromeDriver
Const URL = "www.something/login/"
With d
.Start "Chrome"
.get URL
.FindElementById("name").SendKeys ""
.FindElementById("email").SendKeys ""
.FindElementByCss("[type=submit]").Click
Application.Wait Now + TimeSerial(0, 0, 5) '< better to have a wait condition for something on the post login page
.ExecuteScript "window.open(" & Chr$(34) & "postloginUrl" & Chr$(34) & ",'_blank');"
Stop
.Quit
End With
End Sub