IIS服务器中自动安装ChromeDriver的权限问题解决求助
IIS下ChromeDriverManager权限拒绝问题解决方案
方案1:指定自定义缓存目录(推荐)
默认情况下ChromeDriverManager会将ChromeDriver缓存到C:\WINDOWS\system32\config\systemprofile\.wdm,但IIS应用池用户无此目录的读写权限。可以手动指定一个IIS有权访问的目录:
- 代码修改示例:
from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service from selenium import webdriver # 替换为你的网站可访问的目录,比如网站根目录下的缓存文件夹 custom_cache_dir = r"C:\inetpub\wwwroot\YourWebApp\wdm_cache" driver = webdriver.Chrome(service=Service(ChromeDriverManager(cache_dir=custom_cache_dir).install()))
- 权限配置:右键自定义缓存文件夹→属性→安全→编辑→添加,输入
IIS AppPool\你的应用池名称(比如IIS AppPool\DefaultAppPool),勾选读取和写入权限,保存设置。
方案2:调整IIS应用池的运行账户
给应用池分配一个拥有足够系统权限的账户,使其能访问默认的.wdm目录:
- 打开IIS管理器,找到你的应用池,右键选择「高级设置」
- 在「进程模型」→「标识」中,将默认的
ApplicationPoolIdentity改为LocalSystem(权限较高,需注意安全),或者选择一个预先创建的、拥有系统目录读写权限的服务账户 - 重启应用池后再次测试
方案3:给默认.wdm目录添加权限
手动创建默认缓存目录并赋予IIS应用池用户权限:
- 手动在
C:\WINDOWS\system32\config\systemprofile路径下创建.wdm文件夹 - 右键该文件夹→属性→安全→编辑→添加,输入
IIS AppPool\你的应用池名称,勾选读取和写入权限 - 保存设置后,原代码即可正常使用
内容的提问来源于stack exchange,提问作者aravinth C
相关产品推荐
相关产品推荐

