【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
相关推荐
米羊1212 小时前
ThinkPHP 漏洞(下)
android
前路不黑暗@2 小时前
Java项目:Java脚手架项目的 B 端用户服务(十四)
android·java·开发语言·spring boot·笔记·学习·spring cloud
Rainman博3 小时前
AMS-Activity启动流程
android
恋猫de小郭3 小时前
Flutter 设计包解耦新进展,material_ui 和 cupertino_ui 发布预告
android·前端·flutter
blackorbird6 小时前
新型Keenadu安卓固件级后门揭开跨僵尸网络协同攻击链条
android·网络
前路不黑暗@7 小时前
Java项目:Java脚手架项目的阿里云短信服务集成(十六)
android·java·spring boot·学习·spring cloud·阿里云·maven
吴声子夜歌7 小时前
RxJava——Flowable与背压
android·java·rxjava
L-李俊漩8 小时前
Android studio修改gradle路径
android·android studio
九狼JIULANG8 小时前
基于Flutter+Riverpod+MVI 实现的跨平台「AI 提示词优化工具」
android·开源·github
山北雨夜漫步8 小时前
点评day03优惠卷秒杀-库存超卖,一人一单(单机模式)
android