Selenium Edge Driver侧边栏干扰脚本运行,求禁用配置方法
解决Edge浏览器侧边栏抢占焦点导致Selenium脚本错误的问题
你可以通过添加Edge启动参数或修改浏览器偏好设置来禁用侧边栏,以下是具体修改方案:
方案1:添加禁用侧边栏的核心启动参数
Edge提供了专门的特性开关关闭新版侧边栏,将--disable-features=msEdgeSidebarV2添加到EdgeOptions的启动参数中,可直接禁用默认侧边栏(包括Discover面板等)。
修改后的完整代码:
case "edge": HashMap<String, Object> edgePrefs = new HashMap<String, Object>(); edgePrefs.put("profile.default_content_settings.popups",0); edgePrefs.put("profile.default_content_setting_values.notifications",2); edgePrefs.put("profile.default_content_setting_values.automatic_downloads" ,1); edgePrefs.put("profile.content_settings.pattern_pairs.*,*.multiple-automatic-downloads",1); // 新增:禁用侧边栏偏好设置,配合启动参数强化效果 edgePrefs.put("edge.sidebar.enabled", false); EdgeOptions edgeOptions = new EdgeOptions(); edgeOptions.setExperimentalOption("prefs",edgePrefs); // 新增:核心禁用侧边栏的启动参数 edgeOptions.addArguments("--disable-features=msEdgeSidebarV2"); // 可选:最大化窗口减少焦点干扰 edgeOptions.addArguments("--start-maximized"); WebDriverManager.edgedriver().setup(); driver = new EdgeDriver(edgeOptions); break;
方案2:针对特定侧边栏的补充设置
如果上述方案无效,可能是其他类型侧边栏(比如Collections),可尝试添加以下启动参数:
--hide-side-panel:强制隐藏侧边面板--disable-collections:禁用Collections侧边栏功能
只需将参数添加到edgeOptions.addArguments()中即可。
验证说明
--disable-features=msEdgeSidebarV2是Edge官方针对新版侧边栏的禁用开关,优先级最高- 配合
edge.sidebar.enabled偏好设置,确保浏览器启动时不加载侧边栏 --start-maximized作为补充,可减少侧边栏对页面焦点的干扰
内容的提问来源于stack exchange,提问作者Jess
相关产品推荐
相关产品推荐

