初始化Chrome Webdriver指定可选参数触发状态码1报错解决方案
问题根因
触发该报错的核心原因是日志路径配置无效:ChromeDriver启动时如果无法向指定位置写入日志文件,会直接以状态码1退出,不会返回明确的路径类错误提示,最终被Selenium捕获为通用的驱动意外退出异常。
你两种写法的具体问题:
- 传入自定义Service对象的写法:Selenium 4.x版本中
executable_path参数和自定义service参数互斥,同时传入会导致初始化逻辑冲突;如果传入的log_path指向的父目录不存在、无写入权限、路径转义错误,也会直接触发启动失败。 - 传入
service_log_path参数的写法:该参数在Selenium 4.6及以上版本已被废弃,传入后会干扰Service默认初始化逻辑;同上述问题,如果传入的路径是目录而非具体文件、父目录不存在,同样会触发报错。
你不传可选参数能正常运行,说明ChromeDriver和浏览器版本匹配、驱动本身无损坏,完全可以排除版本兼容、驱动文件损坏类问题。
排查步骤
- 确认传入的日志路径是具体文件路径而非目录路径:例如不能传
./crawl_logs/,需要传./crawl_logs/chrome_driver.log,ChromeDriver不会自动生成日志文件名,只会向指定的文件路径写入内容。 - 确认日志文件的父目录真实存在:ChromeDriver没有自动创建上级目录的权限,例如你要写入日志到
D:/project/logs/chrome.log,必须提前创建D:/project/logs/目录,否则会直接退出。 - 确认路径写入权限:Windows环境下如果日志路径设在C盘系统目录、或当前Python运行身份没有目标目录的写入权限,也会触发报错,可先将日志路径改到桌面等开放权限位置做测试。
- 检查路径转义问题:如果路径包含中文、空格、特殊符号,Python中需要用原始字符串格式声明(路径前加
r,例如r"C:\Users\XXX\Desktop\chrome.log"),避免反斜杠转义导致路径无效。
如果以上步骤排查后仍报错,可以直接打开命令行,切到chromedriver.exe所在目录,手动执行chromedriver.exe --log-path=你配置的完整日志路径,命令行会输出具体的错误原因,比Selenium抛出的通用异常信息定位效率高很多。
正确配置示例(适配Selenium 4.x全版本)
不要同时传入executable_path和service参数,二选一即可,推荐使用Service对象统一配置,提前创建日志父目录:
import os from selenium import webdriver from selenium.webdriver.chrome.service import Service # 提前创建日志父目录,exist_ok=True避免目录已存在时报错 log_parent_dir = "./crawl_logs" os.makedirs(log_parent_dir, exist_ok=True) log_file_path = os.path.join(log_parent_dir, "chrome_running.log") # 所有驱动配置统一传入Service对象,不需要在外层webdriver.Chrome()里重复传executable_path chrome_service = Service(executable_path=driver_dir, log_path=log_file_path) driver = webdriver.Chrome(service=chrome_service)
如果使用Selenium 4.6及以上版本,可省略executable_path参数,内置的Selenium Manager会自动匹配、下载对应版本的ChromeDriver,简化配置:
import os from selenium import webdriver from selenium.webdriver.chrome.service import Service log_parent_dir = "./crawl_logs" os.makedirs(log_parent_dir, exist_ok=True) log_file_path = os.path.join(log_parent_dir, "chrome_running.log") chrome_service = Service(log_path=log_file_path) driver = webdriver.Chrome(service=chrome_service)
内容的提问来源于stack exchange,提问作者SaltyShrub
相关产品推荐
相关产品推荐

