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

Edge浏览器SSO网站父窗口启动后子窗口自动关闭,点击后无法跳转求助

问题分析与解决方案

问题场景

操作流程:

  • 使用Edge驱动程序导航至单点登录(SSO)网页
  • 完成SSO登录后,在主网页输入URL,触发子窗口打开
  • 点击子窗口中的选择按钮后,子窗口自动关闭,无法跳转至目标界面

已知信息:

  • Edge驱动版本:109.0.1518.78
  • Selenium版本:v4+
  • 代码逻辑无问题,手动操作时也会出现相同的子窗口关闭且无法跳转的情况

核心原因判断

由于手动操作也能复现问题,基本可以排除Selenium/Edge驱动的代码层面问题,问题根源大概率出在网站自身逻辑、浏览器安全设置或会话传递机制上:

  1. 网站自身流程限制:
    子窗口的按钮点击逻辑可能包含强制关闭窗口的代码,且目标跳转依赖主窗口的特定状态(如未正确初始化的会话参数),导致跳转失败。

  2. Edge浏览器安全/隐私设置拦截:

    • 弹出窗口阻止程序可能限制了子窗口的跳转行为;
    • 跨站点跟踪阻止设置导致SSO会话无法在子窗口中正常传递,点击按钮后因会话失效触发窗口关闭。
  3. 浏览器与驱动版本不匹配:
    虽然手动操作也有问题,但如果Edge浏览器版本高于驱动版本(109.0.1518.78),可能存在兼容性问题,加重会话传递或窗口控制的异常。

解决方案

  1. 验证网站预期流程:
    确认子窗口点击后的正常行为——是否本应关闭子窗口并在主窗口完成跳转?如果是,需在脚本中切换回主窗口并等待页面加载;若手动操作也无跳转,联系网站管理员确认是否存在角色权限、环境配置限制。

  2. 调整Edge浏览器设置:

    • 关闭弹出窗口阻止程序:进入Edge设置 → 隐私、搜索和服务 → 弹出窗口和重定向 → 允许所有网站弹出窗口和重定向;
    • 允许跨站点跟踪:进入Edge设置 → 隐私、搜索和服务 → 跟踪预防 → 设置为"基本"或关闭跟踪预防;
    • 清除浏览器缓存和Cookie后重新测试。
  3. 同步浏览器与驱动版本:
    检查Edge浏览器的当前版本(设置 → 关于Microsoft Edge),确保驱动版本与浏览器版本完全一致。若浏览器版本更高,下载对应版本的Edge驱动重新测试。

  4. 使用无痕模式运行驱动:
    在初始化Edge驱动时添加无痕模式配置,排除浏览器扩展、缓存的干扰:

    from selenium import webdriver
    from selenium.webdriver.edge.options import Options
    
    edge_options = Options()
    edge_options.add_argument("--incognito")
    driver = webdriver.Edge(options=edge_options)
    
  5. 检查子窗口会话有效性:
    在子窗口打开后,通过driver.get_cookies()查看是否携带了SSO认证的Cookie,若缺失,说明会话未正确传递,需检查SSO登录后的Cookie共享设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:50:24