使用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系統中各種應用程序和進程的清理。每個方法都非常好用。
