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

Selenium运行报错NameError: name 'driver' is not defined如何解决?

问题报错信息
>>> driver.get('https://www.youtube.com/')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'driver' is not defined. Did you mean: 'webdriver'?
报错根因排查
  • 执行顺序问题:你在Python交互式终端中跳步执行代码,仅运行了driver.get()语句,没有先按顺序执行前面的driver = webdriver.Chrome()初始化代码,导致driver变量未被定义
  • 初始化执行失败:driver = webdriver.Chrome('/Users/MyUsername/Downloads/chromedriver')这句代码本身运行报错,导致driver变量没有被成功创建,后续调用自然找不到该变量,初始化失败的常见触发点是你使用的Selenium版本过高,旧版传参写法已失效,或是chromedriver路径、版本不匹配
解决方案
  • 按顺序执行完整代码:如果在Python交互式终端(显示>>>提示符)运行,必须从上到下依次执行所有导入、初始化代码,确认初始化无报错后再执行页面访问代码,不要跳步运行
  • 适配Selenium版本调整driver初始化写法:
    • 若使用Selenium 4.6及以上版本,无需手动指定chromedriver路径,内置的Selenium Manager会自动适配对应版本驱动,直接替换初始化代码为:
      driver = webdriver.Chrome()
    • 若需要手动指定本地chromedriver路径,高版本Selenium需要通过Service对象传参,完整写法如下:
      from selenium import webdriver
      from selenium.webdriver.chrome.service import Service
      from selenium.webdriver.common.keys import Keys
      import pandas as pd
      
      service = Service(executable_path='/Users/MyUsername/Downloads/chromedriver')
      driver = webdriver.Chrome(service=service)
      driver.get('https://www.youtube.com/')
      
  • 核对驱动匹配性:如果坚持使用手动指定驱动的方式,需要确认你下载的chromedriver大版本和本地安装的Chrome浏览器大版本完全一致,同时确认填写的驱动文件路径真实有效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:06:03