Selenium运行异常:chromedriver路径报错、浏览器启动后闪退求助
Selenium 启动Chrome路径报错、窗口秒退问题解决方案
你遇到的两个问题对应原因如下:
- 初始PATH配置报错:
os.environ["PATH"] +=r"C:/seleniumDrivers"写法缺少路径分隔符,系统拼接环境变量时无法正确识别驱动所在目录,自然找不到chromedriver可执行文件。 - 修改路径后浏览器秒退:首先你第二版代码里的驱动路径字符串漏了闭合的双引号,本身存在语法问题;其次Selenium 4以上版本默认不支持直接把驱动路径作为位置参数传入Chrome(),且代码执行完毕后Python进程退出时会自动回收WebDriver资源,没有额外配置的话浏览器会随进程直接关闭。
推荐方案:使用Selenium内置驱动管理(新手零配置)
Selenium 4.6及以上版本内置了官方驱动管理工具,不需要手动下载ChromeDriver、不需要配置任何环境变量,操作步骤如下:
- 先把本地Selenium升级到最新版本,执行命令:
pip install --upgrade selenium
- 直接运行最简测试代码即可,需要浏览器运行完不自动关闭的话,加detach配置就行:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_opts = Options() # *配置浏览器不随代码执行结束自动关闭,适合调试使用* chrome_opts.add_experimental_option("detach", True) driver = webdriver.Chrome(options=chrome_opts) # 后续在这里写页面访问、元素操作等测试逻辑
手动配置驱动的正确写法
如果你要使用自己提前下载好的ChromeDriver,注意要使用Service类传入驱动路径,不要直接把路径塞给Chrome()构造方法,参考代码:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options # 传入你本地的chromedriver完整路径 driver_service = Service(executable_path="C:/seleniumDrivers/chromedriver.exe") chrome_opts = Options() chrome_opts.add_experimental_option("detach", True) driver = webdriver.Chrome(service=driver_service, options=chrome_opts) # 后续在这里写测试逻辑
注意:手动下载的ChromeDriver大版本号必须和本地安装的Chrome浏览器大版本完全一致,否则会出现驱动不兼容报错。
内容的提问来源于stack exchange,提问作者Uzair Kabeer
相关产品推荐
相关产品推荐

