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

升级至Appium Python Client 3.0.0后如何设置Desired Capabilities?

解决Appium-Python-Client 3.x + Selenium 4.x 配置Windows应用会话的问题

问题原因

升级后Appium与Selenium的Capabilities配置逻辑发生变化:

  • 旧版本直接传递字典格式desired_caps的方式已被废弃,新版本要求通过Options类传递配置
  • 若导入的WindowsOptions来自Selenium而非Appium库,会导致配置无法被正确识别
  • 手动设置w3c = False已无必要,新版本默认使用W3C协议,且WinAppDriver已原生支持该协议

解决方案

1. 使用正确的Options类配置

方式一:用Appium专属WindowsOptions

from appium import webdriver
from appium.webdriver.options.windows import WindowsOptions
import os

os.startfile(self.winappdriver_location)
options = WindowsOptions()
# 核心配置:指定目标应用路径
options.app = self.app_location
# 可选:添加设备名称等额外配置
options.add_capability("deviceName", "WindowsPC")

# 初始化驱动
self.driver = webdriver.Remote("http://127.0.0.1:4723", options=options)

方式二:用通用AppiumOptions

from appium import webdriver
from appium.options.common import AppiumOptions
import os

os.startfile(self.winappdriver_location)
options = AppiumOptions()
options.set_capability("platformName", "Windows")
options.set_capability("app", self.app_location)
options.set_capability("deviceName", "WindowsPC")

self.driver = webdriver.Remote("http://127.0.0.1:4723", options=options)

2. 确保依赖版本兼容

  • 更新WinAppDriver到最新版本
  • 确认Appium Server为2.x版本,并安装最新Windows驱动:
    appium driver install windows
    
  • 保证Appium-Python-Client 3.x与Appium Server 2.x版本匹配

3. 移除冗余配置

删除代码中的self.driver.w3c = False,新版本默认启用W3C协议,手动关闭会引发协议冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:25:28