《SeleniumBasic 3.141.0.0 - 在VBA中操作浏览器》高级技术之十四:Chromedriver进程的3种清理方法

使用SeleniumBasic启动浏览器以后,系统会多出Chrome浏览器的进程和相应的驱动文件这两个进程。

正常的做法是利用代码执行WebDriver.Quit方法关闭所有浏览器,并且退出Chromedriver驱动文件的进程。

但是很多情况下浏览器被手动或者其他行为关闭了,这样造成Chromedriver进程还残留在系统中。为了不影响下次使用Selenium,应该清理该进程。

  • 方法一:在任务管理器中找到,然后结束任务

 

 

 

  • 方法二:使用PowerShell的Stop-Process

 

 

 执行 Stop-Process -Name chromedriver 按下回车后,该进程被清理的很干净。

  • 方法三:利用WMI遍历进程
Sub TerminateProcess()
    Dim Service As Object, SOS As Object, SO As Object '后期绑定
    Set Service = GetObject("winmgmts:\\.")
    Do
        Set SOS = Service.ExecQuery("Select * From Win32_Process Where Name='chromedriver.exe'")
        If SOS.Count > 0 Then
            Set SO = SOS.ItemIndex(0)
            SO.Terminate
        Else
            Exit Do
        End If
    Loop
End Sub

在VBA中输入上述过程,原理是遍历所有进程再根据进程名称过滤,然后终止每一个驱动文件对应的进程。

运行一下上述过程,进程被清理。

  • 注意

上述3个方法不仅用于Chromedriver的清理,其实适用于Windows系统中各种应用程序和进程的清理。每个方法都非常好用。

posted @ 2022-04-14 08:20  ryueifu  阅读(1512)  评论(0编辑  收藏  举报