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

Selenium开发Xbox自动登录脚本遇WebDriver无find属性报错

问题根因

报错由拼写错误导致:代码中driver.find.element_by_name("passwd")的属性调用写错了,WebDriver对象下不存在find属性,你是把find_element误拆成了find.element。

修正方案

1. 基础修正(直接改拼写)

把报错行改为以下内容即可解决当前报错:

pass_box = driver.find_element_by_name("passwd")

2. 标准规范写法(适配Selenium 4.x+ 推荐使用)

Selenium 4.0及以上版本已经废弃了find_element_by_xxx系列的旧API,统一使用find_element(By.定位类型, 定位值)的写法,和你之前定位「下一步」按钮的逻辑保持一致,修改为:

pass_box = driver.find_element(By.NAME, "passwd")

3. 额外优化:补充元素等待避免后续报错

点击「下一步」按钮后页面需要加载密码输入模块,若直接定位很容易出现元素未加载完成的报错,建议增加显式等待逻辑:
首先导入依赖包:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

再把定位密码框的代码替换为等待逻辑:

# 最长等待10秒,直到密码输入框加载完成
pass_box = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.NAME, "passwd"))
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:45:02