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

ImportError:无法从appium.webdriver.webdriver导入AppiumOptions求助

解决Appium ImportError: cannot import name 'AppiumOptions' 问题

错误原因

AppiumOptions的导入路径在不同版本的Appium Python客户端中存在差异:

  • Appium Python客户端2.x版本已移除AppiumOptions,改为分平台提供选项类(如Android的UiAutomator2Options)
  • 1.x版本无需单独的Options类,直接传入capabilities字典即可

解决方案

情况1:使用Appium Python客户端2.x版本

修改导入和capabilities初始化逻辑:

from appium import webdriver
from typing import Any, Dict
from appium.webdriver.common.appiumby import AppiumBy
from appium.options.android import UiAutomator2Options  # 替换原AppiumOptions导入

cap: Dict[str, Any] = {
    'platformName': 'Android',
    'deviceName': 'FLex',
    'app': '/home/administrator/Downloads/FlexQa.apk',
    'appPackage': 'com.flexsalary',
    'automationName': 'UiAutomator2'
}
url = 'http://127.0.0.1:4723/'

# 使用UiAutomator2Options加载capabilities
driver = webdriver.Remote(url, options=UiAutomator2Options().load_capabilities(cap))

el = driver.find_element(by=AppiumBy.XPATH, value='//android.widget.Button[@content-desc="ApplyNow"]')
el.click()

driver.quit()

情况2:使用Appium Python客户端1.x版本

移除AppiumOptions相关代码,直接传入capabilities字典:

from appium import webdriver
from typing import Any, Dict
from appium.webdriver.common.appiumby import AppiumBy

cap: Dict[str, Any] = {
    'platformName': 'Android',
    'deviceName': 'FLex',
    'app': '/home/administrator/Downloads/FlexQa.apk',
    'appPackage': 'com.flexsalary',
    'automationName': 'UiAutomator2'
}
url = 'http://127.0.0.1:4723/'

# 直接传入capabilities字典
driver = webdriver.Remote(url, desired_capabilities=cap)

el = driver.find_element(by=AppiumBy.XPATH, value='//android.widget.Button[@content-desc="ApplyNow"]')
el.click()

driver.quit()

额外检查

  • 执行pip show appium-python-client查看客户端版本,匹配对应方案
  • 确保Appium Server与客户端版本兼容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:52:42