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

Selenium代码报错NameError: name 'driver' is not defined原因排查

问题原因及修复方案

直接报错原因

你初始化浏览器实例时用的变量名是browser,但后续操作DOM元素、退出浏览器时都用了未定义的driver变量,这就导致了NameError。

其他潜在问题

除了变量名不统一,代码里还有两个明显问题:

  • 变量username、email在被使用之后才定义,会触发另一个NameError
  • 最后调用的reset_instagram_password函数从未定义过
  • 输入邮箱的步骤漏了传入email变量

修复后的完整代码

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep

# 先定义账号变量
username = '...'
email = '...'

# 统一使用browser作为浏览器实例变量
browser = webdriver.Firefox()
browser.get('https://www.instagram.com/accounts/password/reset/')
sleep(2)

username_input = browser.find_element_by_name('username')
username_input.send_keys(username)
username_input.send_keys(Keys.ENTER)
sleep(2)

email_input = browser.find_element_by_name('email')
email_input.send_keys(email)
email_input.send_keys(Keys.ENTER)
sleep(2)

browser.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:28:09