You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何关闭指定用户目录启动的Selenium Chrome窗口且不影响其他Chrome实例

Python实现关闭指定用户目录的Chrome实例

实现思路

通过遍历系统所有Chrome进程,匹配命令行中携带的用户目录参数,找到目标进程后连带子进程一并终止,不会影响其他用户目录的Chrome实例。

前置依赖

首先安装进程管理库psutil:

pip install psutil

实现代码

import psutil
import os

# 替换为你自己的Chrome自定义用户目录路径
TARGET_USER_DIR = r"C:\Users\john\AppData\Local\Google\Chrome\test"
# 统一转为小写避免Windows路径大小写不敏感导致匹配失败
target_dir = os.path.normpath(TARGET_USER_DIR).lower()

for proc in psutil.process_iter(['name', 'cmdline', 'pid']):
    try:
        # 筛选Chrome进程
        if proc.info['name'].lower() != 'chrome.exe':
            continue
        cmd_line = ' '.join(proc.info['cmdline']).lower()
        # 匹配用户目录参数
        if f'user-data-dir={target_dir}' in cmd_line:
            # 终止进程树,对应批处理的/t参数
            proc.kill()
            for child in proc.children(recursive=True):
                child.kill()
            print(f"已关闭目标Chrome实例,PID:{proc.info['pid']}")
    except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
        # 跳过无权限访问、已经退出的进程
        continue

补充说明

  • 如果当前要关闭的是代码里还在运行的Selenium控制的Chrome实例,直接调用self.web_driver.quit()即可,更简单稳妥。上述方案适用于脚本异常退出、Selenium实例脱离控制的场景。
  • 路径匹配前做了标准化和小写转换,兼容Windows下路径分隔符、大小写不一致的问题,避免匹配失败。

内容的提问来源于stack exchange,提问作者John Anthony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:06:05