我使用Selenium.ChromeDriver在VBA上编写了一个宏,该宏可以打开网站并提供各种操作。 但是问题是,如果宏发生错误,并且在调试模式下单击“停止”,则浏览器将关闭。 问题在于,当关闭浏览器并打开浏览器时,每次都必须输入您的登录名和密码。 如果宏结束或发生错误,如何避免关闭通过Chrome驱动程序打开的浏览器? 这样做了
Public Driver as new ChromeDriver
但这没有帮助,浏览器关闭。
答案 0 :(得分:0)
确实需要更多代码,但需要一些指针
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