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

C# Selenium ChromeDriver问题:以管理员身份运行时Chrome加载失败

解决管理员身份运行时Chrome无法加载的问题

根据你描述的环境和问题,我之前也碰到过类似的状况,核心原因是管理员身份运行进程时,Chrome的用户配置路径、权限沙箱和本地策略限制产生了冲突,下面是几个经过验证的解决办法:

1. 手动指定Chrome用户数据目录

管理员身份启动时,Chrome会自动使用系统级的用户配置目录,这个目录可能存在权限问题或者和本地策略冲突。我们可以手动指定一个普通用户有权限读写的目录,让Chrome使用独立的配置:

var options = new ChromeOptions();
// 替换成你本地有读写权限的路径,比如自定义的临时文件夹
options.AddArgument(@"--user-data-dir=C:\Temp\ChromeTestProfile");
var driver = new ChromeDriver(options);

2. 强制禁用所有扩展(包括内置扩展)

虽然本地策略已经禁止Chrome扩展,但管理员身份下chromedriver可能仍会尝试加载某些默认扩展,触发加载异常。可以添加参数彻底禁用扩展:

var options = new ChromeOptions();
options.AddArgument("--disable-extensions");
options.AddArgument("--disable-plugins");
options.AddArgument("--disable-extensions-except="); // 空值表示禁用所有扩展
var driver = new ChromeDriver(options);

3. 升级chromedriver到匹配Chrome版本的版本

你的Chrome版本是64.0.3282.167,当前使用的chromedriver2.35和这个版本的兼容性不是最优的——Chrome 64.x对应的chromedriver推荐版本是2.36(版本匹配才能避免底层通信的兼容性问题)。建议下载对应版本的chromedriver替换当前文件。

4. 添加--no-sandbox参数绕过沙箱限制

Windows 7下管理员身份运行Chrome时,沙箱机制可能会出现权限冲突,导致页面无法加载。添加该参数可以临时绕过沙箱:

var options = new ChromeOptions();
options.AddArgument("--no-sandbox");
var driver = new ChromeDriver(options);

你可以尝试单独使用某一个方法,或者组合多个方法(比如同时指定用户目录+禁用扩展+no-sandbox),大部分情况下都能解决问题。

内容的提问来源于stack exchange,提问作者Alexei - check Codidact

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:28:06