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

Selenium网页爬虫Pylance报错'login'未定义 同写法next无错问题咨询

报错问题修复方案

错误根因

  • 核心错误:Selenium的click()方法本身不需要传入任何参数,你在调用时额外传入的next、login均为未定义变量。其中next是Python内置的迭代器函数,因此Pylance不会触发未定义提示,但属于完全无效的错误传参;login没有任何预先定义的逻辑,因此直接触发"login" is not defined报错。
  • 额外隐藏问题:
    1. 读取账号信息的函数中password = [1]是语法错误,你需要读取分割后的列表第二个元素,正确写法为password = info[1]
    2. Chrome启动最大化的参数写法错误,正确参数为start-maximized,不是start.maximized
    3. find_element_by_xpath是Selenium 3的旧API,在4.0+版本已被弃用,推荐使用新版定位写法

修复后的代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
import time

def account_info():
    with open('account_info.txt', 'r') as f:
        info = f.read().split()
        email = info[0]
        password = info[1]
        return email, password

email, password = account_info()
options = Options()
options.add_argument("start-maximized")
driver = webdriver.Chrome(options=options)

driver.get("https://twitter.com/i/flow/login")

email_xpath = '//*[@id="layers"]/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div[2]/div[2]/div[1]/div/div[2]/label/div/div[2]/div/input'
next_xpath = '//*[@id="layers"]/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div[2]/div[2]/div[2]/div/div'
password_xpath = '//*[@id="layers"]/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div[2]/div[2]/div[1]/div/div[2]/div/label/div/div[2]/div/input'
login_xpath = '//*[@id="layers"]/div[2]/div/div/div/div/div/div[2]/div[2]/div/div/div[2]/div[2]/div[2]/div/div'

time.sleep(1)
driver.find_element(By.XPATH, email_xpath).send_keys(email)
time.sleep(0.5)
driver.find_element(By.XPATH, next_xpath).click()
time.sleep(0.5)
driver.find_element(By.XPATH, password_xpath).send_keys(password)
time.sleep(0.5)
driver.find_element(By.XPATH, login_xpath).click()

如果你仍需使用旧版本Selenium的API,仅需要删除所有click()方法中的传参即可,不需要修改其他定位逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:30:04