Selenium 4与WinAppDriver兼容问题求助:WindowsElement报错
修复Selenium 4与WinAppDriver的WindowsElement兼容问题
核心问题
Selenium 4重构了WebElement相关接口,旧的WindowsElement类型已不再适配新版Appium.WebDriver的API规范,导致类型不匹配报错。
解决方案步骤
调整WindowsDriver泛型参数
将原代码中的WindowsDriver<WindowsElement>替换为WindowsDriver<WebElement>,新版Appium驱动已统一使用标准WebElement类型:Process.Start(@WinDriver); AppiumOptions appiumOptions = new AppiumOptions(); appiumOptions.AddAdditionalCapability("app", "Root"); appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC"); var session = new WindowsDriver<WebElement>(new Uri("http://127.0.0.1:4723"), appiumOptions);统一依赖版本
当前Appium.WebDriver 4.3.2与Windows.WebDriver 4.5跨大版本,存在API差异。卸载Windows.WebDriver 4.5,在NuGet包管理器中安装与Appium.WebDriver同大版本的Windows.WebDriver(如4.3.2),保证版本匹配。替换所有WindowsElement引用
检查代码中所有使用WindowsElement的位置,全部替换为OpenQA.Selenium.WebElement,并确保引用命名空间using OpenQA.Selenium;。
额外注意事项
- 启动WinAppDriver时需以管理员权限运行,否则可能出现会话创建失败。
- 检查4723端口是否被占用,若被占用可通过WinAppDriver启动参数指定其他端口(如
WinAppDriver.exe 4725),同时修改代码中的端口号。
内容的提问来源于stack exchange,提问作者test automation learner
相关产品推荐
相关产品推荐

