Windows 10下Protractor兼容IE11失败,错误码199求助
解决Protractor在Windows 10上启动IE11报错“Unable to create new service: InternetExplorerDriverService”的问题
我帮你梳理下这个问题的核心原因和针对性的解决方案——毕竟IE11和Protractor的适配确实有不少容易踩的坑,而且你已经排除了全局依赖(node、npm、protractor等)的问题,Chrome运行正常也说明Protractor本身没问题,问题大概率出在IE11的驱动配置或系统设置上。
1. 优先检查IE11的安全保护模式设置(最常见触发点)
这是IEDriver启动失败的头号原因:
- 打开IE11,点击右上角齿轮图标,进入Internet选项 > 安全标签页
- 确保四个区域(Internet、本地Intranet、受信任的站点、受限制的站点)的启用保护模式复选框状态完全一致(要么全部勾选,要么全部取消)
- 修改后务必重启IE浏览器和Protractor,再尝试运行
2. 确认InternetExplorerDriver版本与IE11完全兼容
IEDriver的版本兼容性要求很严格:
- 先运行
webdriver-manager status,查看当前安装的IEDriver版本 - IE11推荐使用3.141.59版本的IEDriver(较新版本可能对IE11支持不佳),如果版本不匹配,手动指定版本更新:
webdriver-manager update --ie --versions.ie=3.141.59
3. 处理IEDriver的启动权限与系统配置问题
你提到手动运行IEDriver时有弹窗,大概率是系统权限或高DPI设置干扰:
- 找到IEDriver.exe的路径(通常在
node_modules\protractor\node_modules\webdriver-manager\selenium目录下),右键选择以管理员身份运行,看是否能正常启动无报错 - 检查Windows显示设置的缩放比例,确保是100%(IEDriver对高DPI缩放的兼容性很差,非100%缩放会直接导致启动失败)
- 可以在Protractor配置文件里手动指定驱动路径并添加启动参数,强制绕过部分限制(注意
ignoreProtectedModeSettings不推荐长期使用,仅用于临时排查):exports.config = { capabilities: { browserName: 'internet explorer', ieOptions: { ieDriverPath: './node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer.exe', ignoreProtectedModeSettings: true, logFile: './iedriver.log' // 生成日志,方便后续排查细节 } }, // 其他配置... };
4. 再次确认Java环境与PATH配置
虽然你已经重装了Java,但还是要做最后验证:
- 打开命令提示符,运行
java -version,确保能正常输出版本信息,没有报错 - 检查系统PATH环境变量,确保Java的
bin目录和IEDriver所在目录排在最前面,避免其他版本的程序干扰
5. 简化配置排查冲突
如果以上步骤都无效,尝试简化你的Protractor配置,只保留IE11的核心配置,排除其他因素:
exports.config = { seleniumAddress: 'http://localhost:4444/wd/hub', capabilities: { browserName: 'internet explorer', platform: 'WINDOWS', version: '11' }, specs: ['./your-test-spec.js'] };
然后先启动webdriver-manager start,再运行Protractor测试。
内容的提问来源于stack exchange,提问作者CodeMonkey
相关产品推荐
相关产品推荐

