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

Selenium4.22.0+Python3.12启动浏览器后脚本无法执行求助

问题解决方案与版本变化说明

一、脚本问题修复步骤

1. 下载匹配版本的ChromeDriver

你当前使用的Chrome for Testing 126.0.6478.126需要对应版本的ChromeDriver,需从同资源库下载win64版本的ChromeDriver压缩包,解压后得到chromedriver.exe。

2. 修正路径转义与Service配置

  • Windows路径中的\会被Python识别为转义字符,需用**原始字符串前缀r或双反斜杠\\**避免警告。
  • Service对象必须指向chromedriver.exe而非Chrome浏览器的chrome.exe,同时可通过ChromeOptions指定Chrome二进制文件路径,确保版本严格匹配。

3. 修正后的测试代码

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# 配置ChromeDriver路径(原始字符串避免转义)
serv_obj = Service(r"C:\VDFData\chromedriver-win64\chromedriver.exe")
# 指定Chrome浏览器二进制文件路径
options = webdriver.ChromeOptions()
options.binary_location = r"C:\VDFData\chrome-win64\chrome.exe"

# 初始化驱动
driver = webdriver.Chrome(service=serv_obj, options=options)
driver.get("https://github.com/")
driver.close()

二、Selenium 4.22.0 + Chrome 126的其他核心变化

除服务对象、定位器语法外,还有以下关键变化:

  • Chrome for Testing(CfT)强制适配:Chrome 115+官方推荐使用CfT版本,Selenium 4.10+内置支持自动匹配下载CfT和ChromeDriver,无需手动管理版本对应关系。
  • BiDi API增强:完善Chrome DevTools Protocol(CDP)的双向接口支持,可更简洁地监听网络请求、修改响应、获取页面日志等。
  • 元素交互稳定性优化:针对Chrome 126的页面渲染机制调整了元素点击、输入等操作逻辑,减少交互超时或失败概率。
  • 旧API完全移除:find_element_by_id等旧定位方法彻底移除,必须使用find_element()配合By类;DesiredCapabilities被弃用,全部改用Options类配置浏览器参数。
  • 自动等待机制优化:隐式等待与显式等待的兼容性提升,适配Chrome 126的异步加载逻辑,降低元素定位失败率。
  • 无头模式更新:默认启用--headless=new新无头模式,行为更接近真实浏览器,旧的--headless参数被标记为废弃。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:33:11