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

如何使用Python Selenium在浏览器弹窗中输入用户ID和密码

解决Python Selenium处理浏览器认证弹窗的问题

你遇到的是HTTP基础认证弹窗(Basic Authentication Popup),这类弹窗是浏览器层面的验证窗口,而非网页内的元素,所以不能直接用普通的find_element方法定位输入框。下面提供两种可行的解决方法:

方法1:URL嵌入认证信息(最简单高效)

直接在访问的URL中拼接用户名和密码,格式为 http://用户名:密码@目标网站地址,浏览器会自动填充认证信息并跳过弹窗。

示例代码:

from selenium import webdriver

# 替换为你的实际信息
username = "your_username"
password = "your_password"
target_url = "http://example.com"  # 替换为目标网站地址

# 构造带认证信息的URL
auth_url = f"http://{username}:{password}@{target_url.split('://')[1]}"

driver = webdriver.Chrome()
driver.get(auth_url)

注意:部分现代浏览器(如Chrome较新版本)可能限制这种URL格式,若此方法无效,可尝试第二种。

方法2:通过Selenium的Alert接口处理

HTTP认证弹窗属于浏览器的Alert对象,可以通过switch_to.alert切换到弹窗,再输入账号密码并确认。

示例代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get("http://example.com")  # 替换为目标网站地址

# 显式等待弹窗加载(替代固定sleep,更稳定)
WebDriverWait(driver, 10).until(EC.alert_is_present())

# 切换到认证弹窗
auth_alert = driver.switch_to.alert

# 输入用户名 → 按Tab切换到密码框 → 输入密码 → 按回车确认
auth_alert.send_keys("your_username" + Keys.TAB + "your_password")
auth_alert.accept()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 05:38:27