【appium 安卓10 QQ发送消息】

代码

python 复制代码
from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

# 设置 Desired Capabilities
desired_caps = {
    "platformName": "Android",
    "platformVersion": "10.0",
    "deviceName": "Android Emulator",
    "appPackage": "com.tencent.mobileqq",
    "appActivity": ".activity.SplashActivity",
    "automationName": "UiAutomator2",
    "noReset": True,
    "appium:ignoreHiddenApiPolicyError": True,
    "appium:forceAppLaunch": True
}

# 创建 Appium WebDriver 实例
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

try:
    # 等待并点击搜索输入框
    search_box = WebDriverWait(driver, 30).until(
        EC.element_to_be_clickable((By.ID, "com.tencent.mobileqq:id/et_search_keyword"))
    )
    search_box.click()
    print("已成功点击搜索输入框")

     # 等待搜索框重新变得可输入
    search_box = WebDriverWait(driver, 30).until(
        EC.element_to_be_clickable((By.ID, "com.tencent.mobileqq:id/et_search_keyword"))
    )

    # 输入 "你夏哥" 到搜索框
    search_box.send_keys("你夏哥")
    print("已成功输入 '你夏哥'")

    # 等待并点击 ID 为 com.tencent.mobileqq:id/dpr 的元素
    target_element = WebDriverWait(driver, 30).until(
        EC.element_to_be_clickable((By.ID, "com.tencent.mobileqq:id/dpr"))
    )
    target_element.click()
    print("已成功点击你夏哥")

    # 等待并点击消息发送框
    input_box = WebDriverWait(driver, 30).until(
        EC.element_to_be_clickable((By.ID, "com.tencent.mobileqq:id/input"))
    )
    input_box.click()
    print("已成功点击消息发送框")

    # 输入消息 "Hello World!"
    input_box.send_keys("Hello World!")
    print("已成功输入消息 'Hello World!'")

    # 等待并点击发送按钮
    send_button = WebDriverWait(driver, 30).until(
        EC.element_to_be_clickable((By.ID, "com.tencent.mobileqq:id/fun_btn"))
    )
    send_button.click()
    print("已成功点击发送按钮")

except Exception as e:
    print(f"操作失败: {e}")

finally:
    # 不关闭驱动,确保应用保持打开
    pass
相关推荐
AC赳赳老秦1 小时前
Dify工作流+DeepSeek:运维自动化闭环(数据采集→报告生成)
android·大数据·运维·数据库·人工智能·golang·deepseek
2501_944424121 小时前
Flutter for OpenHarmony游戏集合App实战之记忆翻牌配对消除
android·java·开发语言·javascript·windows·flutter·游戏
2501_944526421 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 设置功能实现
android·javascript·flutter·游戏·harmonyos
冬奇Lab1 小时前
【Kotlin系列11】协程原理与实战(下):Flow与Channel驯服异步数据流
android·开发语言·kotlin
_昨日重现2 小时前
Jetpack系列之Compose Scaffold
android·android jetpack
2501_944424122 小时前
Flutter for OpenHarmony游戏集合App实战之数字拼图打乱排列
android·开发语言·flutter·游戏·harmonyos
文 丰2 小时前
【Android Studio】gradle下载慢解决方案(替换配置-非手工下载安装包)
android·ide·android studio
2501_944526423 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 知识问答游戏实现
android·开发语言·javascript·python·flutter·游戏·harmonyos
路人与大师3 小时前
[深度架构] 拒绝 Prompt 爆炸:LLM Skills 的数学本质与“上下文压缩”工程论
android·架构·prompt
zhangphil3 小时前
Android系统如何把Bitmap通过RenderThread及GPU器件显示到屏幕
android