运行WhatsApp自动化Python脚本遇DevToolsActivePort不存在错误求助
问题描述
运行基于Selenium的WhatsApp批量消息自动化Python脚本时,出现如下错误:
selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist Stacktrace: Backtrace: Ordinal0 [0x011EDF13+2219795] Ordinal0 [0x01182841+1779777] Ordinal0 [0x0109423D+803389] Ordinal0 [0x010B591A+940314] Ordinal0 [0x010B181E+923678] Ordinal0 [0x010AF179+913785] Ordinal0 [0x010E36B9+1128121] Ordinal0 [0x010E331A+1127194] Ordinal0 [0x010DE616+1107478] Ordinal0 [0x010B7F89+950153] Ordinal0 [0x010B8F56+954198] GetHandleVerifier [0x014E2CB2+3040210] GetHandleVerifier [0x014D2BB4+2974420] GetHandleVerifier [0x01286A0A+565546] GetHandleVerifier [0x01285680+560544] Ordinal0 [0x01189A5C+1808988] Ordinal0 [0x0118E3A8+1827752] Ordinal0 [0x0118E495+1827989] Ordinal0 [0x011980A4+1867940] BaseThreadInitThunk [0x762E7BA9+25] RtlInitializeExceptionChain [0x775DBB3B+107] RtlClearBits [0x775DBABF+191]
执行脚本时Chrome窗口未打开,也未加载目标URL。
解决方法
- 添加Chrome启动参数:初始化ChromeDriver时,添加
--no-sandbox和--disable-dev-shm-usage参数,这两个参数可直接解决DevToolsActivePort文件不存在的问题。修改脚本中的ChromeOptions配置部分:from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') driver = webdriver.Chrome(options=chrome_options) - 指定Chrome二进制文件路径:若系统无法自动定位Chrome可执行文件,手动指定路径:
# Windows示例 chrome_options.binary_location = "C:/Program Files/Google/Chrome/Application/chrome.exe" # Linux示例 # chrome_options.binary_location = "/usr/bin/google-chrome" # macOS示例 # chrome_options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" - 清理残留Chrome进程:检查系统中是否有未关闭的Chrome或chromedriver进程,全部终止后重新运行脚本。
- 匹配Chrome与ChromeDriver版本:确保Chrome浏览器版本和ChromeDriver版本完全对应,版本不兼容是此类错误的常见诱因。
- 避免root用户运行(Linux/macOS):在Linux或macOS环境下,若以root权限执行脚本,必须添加
--no-sandbox参数,或切换至普通用户运行。
内容的提问来源于stack exchange,提问作者Shashank Tiwari
相关产品推荐
相关产品推荐

