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

如何在Selenium C#中从已有Chrome Driver打开新隐身浏览器

在Selenium C#中打开新的隐身Chrome浏览器进程

核心结论

通过已有的ChromeDriver实例无法直接启动独立的隐身浏览器进程——Selenium的Driver实例与单个浏览器进程绑定,要打开新的隐身窗口,必须创建新的ChromeDriver实例并配置隐身模式。

为什么你之前的方法无效

  • JavaScript脚本:window.open()只能在当前浏览器进程内打开新标签页,无法触发独立的隐身进程,这是浏览器的安全限制。
  • Actions按键操作:ChromeDriver的Actions API是针对页面DOM元素设计的,浏览器级快捷键(如Ctrl+Shift+N)需要浏览器窗口获得系统焦点,而Selenium无法保证这一点,因此这种方法不稳定且不可靠。

正确实现方法

通过配置ChromeOptions启用隐身模式,启动新的ChromeDriver实例:

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

// 配置隐身模式选项
ChromeOptions options = new ChromeOptions();
options.AddArgument("--incognito");

// 启动新的隐身Chrome浏览器实例
IWebDriver incognitoDriver = new ChromeDriver(options);

// 后续操作:打开目标页面
incognitoDriver.Navigate().GoToUrl("https://example.com");

// 使用完毕后关闭实例(避免资源泄漏)
// incognitoDriver.Quit();

补充说明

  • 如果需要同时保留原浏览器实例和新的隐身实例,要分别管理两个IWebDriver对象,避免混淆句柄。
  • 若要在隐身窗口中执行后续操作,直接使用新创建的incognitoDriver实例即可,无需切换窗口句柄。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:27:09