使用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系统中各种应用程序和进程的清理。每个方法都非常好用。
原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/245024.html