Undetected Chromedriver调用quit()后Chrome进程未完全终止求助
彻底终止Undetected Chromedriver残留的Chrome进程
方法1:利用Undetected Chromedriver内置对象强制终止进程
Undetected Chromedriver的Chrome实例自带service属性,可直接定位并强制杀掉关联的Chrome进程,在driver.quit()后补充以下代码即可:
import undetected_chromedriver as uc # 初始化options... driver = uc.Chrome(options=chrome_options) # 执行操作... driver.quit() # 清理残留进程 if driver.service.process is not None: driver.service.process.kill()
该方法仅针对当前driver启动的进程,不会误杀其他正常运行的Chrome实例。
方法2:启动Chrome时禁用后台进程
初始化Chrome配置项时,添加以下参数,让Chrome主窗口关闭后自动终止所有关联进程:
chrome_options.add_argument("--disable-background-mode") chrome_options.add_argument("--single-process") chrome_options.add_argument("--no-startup-window")
添加这些参数后,driver.quit()的清理效果会更彻底。
方法3:跨平台手动清理极端残留进程
如果前两种方法无效,可通过代码直接清理所有Chrome相关进程(注意:会关闭所有Chrome窗口,谨慎使用):
import os def kill_all_chrome_processes(): if os.name == 'nt': # Windows系统 os.system('taskkill /F /IM chrome.exe /T') os.system('taskkill /F /IM chromedriver.exe /T') else: # Linux/macOS系统 os.system('pkill -f chrome') os.system('pkill -f chromedriver') # 在driver.quit()后调用 driver.quit() kill_all_chrome_processes()
内容的提问来源于stack exchange,提问作者tromotixc
相关产品推荐
相关产品推荐

