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

在SpecFlow/Selenium中如何启动无头模式下的无痕Chrome?

无头Chrome开启无痕模式的正确姿势

当然可以在无头模式下开启Chrome的无痕模式!你遇到的问题大概率是参数格式不对——看你的代码里用的是-incognito(单杠开头),但Chrome的命令行参数里,incognito需要双杠开头的--incognito。

Chrome对命令行参数的格式有明确区分:单杠一般用于单个字符的短参数(比如-h表示帮助),而多字符的长参数必须用双杠开头。普通Chrome窗口可能对单杠的-incognito兼容放行,但无头模式下的参数校验更严格,所以单杠版本不会生效。

给你修正后的代码:

var options = new ChromeOptions();
// 重点修正:把 -incognito 改成 --incognito
options.AddArguments("--headless", "--window-size=1920,1080", "--disable-gpu", "--disable-extensions", "--no-sandbox", "--incognito");
var svc = ChromeDriverService.CreateDefaultService();
svc.Start();
Context.Driver = new ChromeDriver(svc, options);

如果想验证是否生效,可以让无头Chrome访问chrome://version页面,查看页面里的「命令行」字段是否包含--incognito,同时「个人资料路径」会显示为临时的无痕模式路径(通常带有Incognito字样)。

另外补充个小知识:除了命令行参数,你也可以通过配置用户偏好来开启无痕,但--incognito参数是最直接可靠的方式,只要格式正确就没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:47:19