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

Selenium登录页用户名可输入但密码框无法输入问题咨询

Selenium操作道琼斯SSO登录页密码输入失败修复方案

问题原因

  • 页面采用分步加载逻辑:初始加载阶段仅渲染用户名输入框,密码输入框需要在输入用户名并点击「继续」按钮后才会动态插入DOM树。你的代码注释了点击继续按钮的逻辑,导致密码框始终未生成,等待触发TimeoutError。
  • 密码框CSS选择器存在两处问题:一是语法错误,缺少属性选择器的闭合方括号;二是使用[class="password"]做精确匹配,而实际页面中密码输入框的class属性包含多个类名,无法命中目标元素。
  • 用户名输入框在页面初始加载时就已存在,且你编写的用户名选择器刚好匹配到了对应元素,因此可以正常操作。

修复方案

按以下规则调整代码即可:

  1. 取消点击继续按钮代码的注释,触发密码框加载流程
  2. 修正密码框选择器的语法错误,换成更通用的匹配规则,优先使用input[type="password"]类型匹配,稳定性更高
  3. 移除无意义的硬等待time.sleep(10),如果需要延迟统一使用显式等待
  4. 补充导入缺失的time依赖(如果保留硬等待的话)

修正后的可运行代码:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver

url =  'https://sso.accounts.dowjones.com/login?state=g6Fo2SBPMzZrekJkSlJDUWhfdHRaYmFMQXFzXzFSd2hFV01BMqN0aWTZIEVaQkVtc2FWT0Rkak1ENVl5Q21JeEM1Z3RhWWZZSUY4o2NpZNkgNWhzc0VBZE15MG1KVElDbkpOdkM5VFhFdzNWYTdqZk8&client=5hssEAdMy0mJTICnJNvC9TXEw3Va7jfO&protocol=oauth2&scope=openid%20idp_id%20roles%20email%20given_name%20family_name%20djid%20djUsername%20djStatus%20trackid%20tags%20prts%20suuid%20createTimestamp&response_type=code&redirect_uri=https%3A%2F%2Faccounts.barrons.com%2Fauth%2Fsso%2Flogin&nonce=fd1626cc-b81b-4b33-bb37-6795e64b26d3&ui_locales=en-us-x-barrons-81-2&ns=prod%2Faccounts-barrons#!/signin-password'
driver = webdriver.Firefox()
driver.get(url)

# 输入用户名
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'input[class="username"]'))).send_keys("email")
# 点击继续按钮触发密码框加载
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CLASS_NAME, 'continue-submit'))).click()
# 输入密码
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'input[type="password"]'))).send_keys("password")
# 提交登录
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CLASS_NAME, 'basic-login-submit'))).click()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:36:01