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

按照freeCodeCamp教程编写Selenium Python Booking类报错无法排查

Selenium Python 代码报错排查及解决方法

核心代码问题修复

现有代码的PATH拼接逻辑存在错误:Windows系统环境变量PATH的多个路径通过英文分号;分隔,直接拼接驱动路径会导致路径串连,系统无法识别驱动所在位置。修复后的代码参考:

class Booking(webdriver.Chrome):
    def __init__(self, driver_path=r"C:\SeleniumDrivers"):
       self.driver_path = driver_path
       # 新增分号作为路径分隔符
       os.environ['PATH'] += ';' + self.driver_path
       super(Booking, self).__init__()

    def land_first_page(self):
       self.get('https://www.booking.com')

通用排查步骤

  • 确认浏览器与驱动版本匹配:打开Chrome浏览器「设置-关于Chrome」查看当前版本,下载对应大版本的ChromeDriver,放置到C:\SeleniumDrivers路径下
  • 适配Selenium版本:如果使用Selenium 4.6及以上版本,官方内置了驱动自动管理工具,无需手动配置环境变量,可直接简化代码为如下形式:
from selenium import webdriver

class Booking(webdriver.Chrome):
    def __init__(self):
       super().__init__()

    def land_first_page(self):
       self.get('https://www.booking.com')
  • 检查依赖导入:代码顶部必须导入os、from selenium import webdriver两个依赖,缺失会直接触发报错
  • 添加异常捕获定位问题:运行代码时新增异常捕获逻辑,打印具体报错信息缩小排查范围,示例如下:
if __name__ == '__main__':
    try:
        bot = Booking()
        bot.land_first_page()
    except Exception as e:
        print(f"报错详情:{e}")
  • 检查驱动文件状态:Windows系统下确认ChromeDriver文件名为chromedriver.exe,未被系统安全软件拦截、隔离或删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:27:03