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

如何使用Appium Python实现Done按钮点击操作自动化

Appium Python 点击Done按钮可行方案

以下是适配不同场景的解决方法,按优先级从高到低排序:

  • 优先触发系统级完成动作,无需定位元素,兼容性最高
    若为iOS端:
    driver.execute_script('mobile: performEditorAction', {'action': 'done'})
    
    若为安卓端:
    driver.press_keycode(66) # 66对应安卓系统的KEYCODE_ENTER,匹配绝大多数Done按钮的触发逻辑
    
  • 动作触发无效时,通过元素定位点击
    先用Appium Inspector确认按钮的属性,优先用accessibility id、content-desc定位,属性缺失时再用xpath匹配文本:
    from appium.webdriver.common.appiumby import AppiumBy
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    # 显式等待10秒,确保元素加载完成可点击
    wait = WebDriverWait(driver, 10)
    # 示例1:用accessibility id定位
    done_btn = wait.until(EC.element_to_be_clickable((AppiumBy.ACCESSIBILITY_ID, "Done")))
    # 示例2:用xpath匹配按钮文本
    # done_btn = wait.until(EC.element_to_be_clickable((AppiumBy.XPATH, '//*[@text="Done" or @label="Done"]')))
    done_btn.click()
    
  • 以上方案均失效时,用相对坐标点击
    避免不同分辨率适配问题,按屏幕比例计算点击位置:
    screen_size = driver.get_window_size()
    # 可根据按钮实际位置调整宽高比例,示例为按钮在屏幕右上角区域的常见比例
    tap_x = screen_size['width'] * 0.9
    tap_y = screen_size['height'] * 0.15
    driver.tap([(tap_x, tap_y)])
    

注意:如果按钮的clickable属性为false,直接调用元素click方法会失效,此时用坐标点击或系统动作触发即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:36:02