可以通过appium-python-client来远程操控andriod手机上qq进行消息收发,流程如下:
1、下载安装appium-python-client
pip install appium-python-client
官网::http://appium.io
2、安装jdk和android sdk,并添加好ANDROID_HOME和JAVA_HOME环境变量,下载地址:https://developer.android.com/studio
3、手机开启开发者模式并打开usb调试。
4、插上手机的usb线连上电脑,命令行敲入adb devices -l显示你的手机信息就表示连接成功了。

5、最后运行下面的代码
参考代码
from appium import webdriver
import time
desired_caps={
'platformName':'Android', # 指定平台为Android
'platformVersion':'8.1', # 指定Android版本为8.1
'deviceName':'your_device_name', # 替换成你的设备名称
'appPackage':'com.tencent.qqlite', # 指定应用包名,这里是QQ轻聊版
'appActivity':'com.tencent.mobileqq.activity.SplashActivity', # 指定应用启动的Activity
#'unicodeKeyboard':True, # 使用Unicode键盘
#'resetKeyboard':True, # 重置键盘
'noReset':True, # 不重置应用状态
'newCommandTimeout':6000, # 设置新命令超时时间为6000秒
'automationName':'UiAutomator2' # 指定自动化测试引擎为UiAutomator2
}
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.implicitly_wait(10)
driver2=driver.find_element_by_id('recent_chat_list')
list2=driver2.find_elements_by_class_name('android.widget.LinearLayout')
print('当前QQ消息为%d个'%(len(list2)))
time.sleep(2)
list2[0].click()
def send_Message(text2:str): # 发消息
driver4=driver.find_element_by_id('inputBar')
driver4.find_element_by_id('input').send_keys(text2)
driver4.find_element_by_id('fun_btn').click()
time.sleep(2)
print("发送消息:%s"%(text2))
list4=[
"你你好啊",
"吃了",
"起床了"
]
while True:
try:
driver3=driver.find_element_by_id('listView1')
list3=driver3.find_elements_by_class_name('android.widget.RelativeLayout')
text=list3[-1].find_element_by_id('chat_item_content_layout').text
print('收到消息:%s'%(text)) # 接收消息
time.sleep(5)
if(text=='你好'):
send_Message(list4[0])
elif(text=="你吃中饭了没"):
send_Message(list4[1])
elif(text=="起来没"):
send_Message(list4[2])
except Exception as e:
pass 网友回复


