如何通过Selenium WebDriver处理Chrome认证弹窗?配置Chrome选项设可信站点
解决Chrome在Jenkins Windows节点上的认证弹窗问题
针对你无法修改IE Internet选项的情况,可以通过以下几种Chrome配置方式绕过或阻止认证弹窗:
1. 使用命令行参数信任目标站点
Chrome提供了专门的参数来指定可自动处理认证的服务器,模拟IE可信站点的行为:
--auth-server-whitelist="*.your-domain.com":允许Chrome自动向指定域名发送用户凭据(替换为你的目标站点域名,支持通配符)--auth-negotiate-delegate-whitelist="*.your-domain.com":配合上一个参数,允许委托Kerberos凭据到目标服务器
在自动化测试代码中添加这些参数(以Selenium为例):
from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('--auth-server-whitelist=*.example.com') options.add_argument('--auth-negotiate-delegate-whitelist=*.example.com') driver = webdriver.Chrome(options=options)
2. 配置Chrome企业策略标记站点为Intranet
如果Jenkins节点允许修改Chrome的配置文件,可以通过企业策略将目标站点加入Intranet区域,Chrome会自动应用类似IE可信站点的认证规则:
- 在节点的
C:\Program Files\Google\Chrome\Application\路径下创建master_preferences文件(若已存在则编辑) - 写入以下JSON内容(替换为你的站点地址):
{ "enterprise_policy": { "IntranetSettings": { "IntranetSites": ["https://test-site.com"] } } }
注意:部分严格管控的环境可能禁止修改此文件,需提前确认权限。
3. 直接禁用认证弹窗提示
若上述方法无效,可尝试通过参数直接关闭Chrome的认证弹窗,强制进入后续的登录界面:
添加命令行参数--disable-features=AuthenticationPrompts,但该参数可能影响其他场景的认证流程,建议仅在目标测试任务中使用。
内容的提问来源于stack exchange,提问作者kc29
相关产品推荐
相关产品推荐

