可以通过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
网友回复