I set up a python code to run Selenium chromedriver.exe
. At the end of the run I have browser.close()
to close the instance. (browser = webdriver.Chrome()
) I believe it should release chromedriver.exe
from memory (I'm on Windows 7). However after each run there is one chromedriver.exe
instance remain in the memory. I hope there is a way I can write something in python to kill the chromedriver.exe
process. Obviously browser.close()
doesn't do the work. Thanks.
per the Selenium API, you really should call browser.quit()
as this method will close all windows and kills the process. You should still use browser.quit()
.
However: At my workplace, we've noticed a huge problem when trying to execute chromedriver tests in the Java platform, where the chromedriver.exe actually still exists even after using browser.quit()
. To counter this, we created a batch file similar to this one below, that just forces closed the processes.
kill_chromedriver.bat
@echo off
rem just kills stray local chromedriver.exe instances.
rem useful if you are trying to clean your project, and your ide is complaining.
taskkill /im chromedriver.exe /f
Since chromedriver.exe is not a huge program and does not consume much memory, you shouldn't have to run this every time, but only when it presents a problem. For example when running Project->Clean in Eclipse.