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
相关产品推荐
相关产品推荐

