本文共 2679 字,大约阅读时间需要 8 分钟。
近期通过学习Python实现App自动化的视频,深受启发,我运用所学知识开发了一个自动回复QQ消息的程序。这个项目不仅锻炼了我的App自动化技能,也让我对Python在实际场景中的应用有了更深入的理解。
使用命令窗口输入以下命令安装Appium Python客户端:
pip install appium-python-client
访问Appium官方网站下载并安装最新版本的Appium Server:
http://appium.io
完成安装后,需设置JDK环境变量。小编推荐以下步骤:
同样在环境变量中添加ANDROID_HOME,指向Android SDK解压目录:
推荐使用米卓同屏助手,下载地址为:
https://cn.mirroid.com
在命令窗口输入以下命令验证连接状态:
adb devices -l
如果出现设备列表,说明连接成功。如果出现错误提示,通常是ADB版本不兼容。建议将手机或电脑上的ADB.exe替换为同一版本即可。
以下是完整代码示例:
from appium import webdriverfrom time import sleep# 定义设备参数desired_caps = { 'platformName': 'Android', 'platformVersion': '8.1', 'deviceName': 'xxx', 'appPackage': 'com.tencent.qqlite', 'appActivity': 'com.tencent.mobileqq.activity.SplashActivity', 'newCommandTimeout': 6000, 'automationName': 'UiAutomator2'}# 初始化驱动driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)driver.implicitly_wait(10)# 获取聊天列表recent_chat_list = driver.find_element_by_id('recent_chat_list')chat_list = recent_chat_list.find_elements_by_class_name('android.widget.LinearLayout')print(f'当前QQ消息为{len(chat_list)}个')sleep(2)# 发送消息def send_Message(text: str): input_bar = driver.find_element_by_id('inputBar') input = input_bar.find_element_by_id('input') input.send_keys(text) fun_btn = input_bar.find_element_by_id('fun_btn') fun_btn.click() sleep(2) print(f'发送消息:{text}')# 接收消息处理while True: try: list_view1 = driver.find_element_by_id('listView1') chat_items = list_view1.find_elements_by_class_name('android.widget.RelativeLayout') last_item = chat_items[-1] content_layout = last_item.find_element_by_id('chat_item_content_layout') received_text = content_layout.text print(f'收到消息:{received_text}') if received_text == '你好,请帮我查阅一下刘邦的简介': send_Message('刘邦,字季,沛郡丰邑(今江苏省丰县)人。中国历史上杰出的政治家、战略家和军事指挥家,汉朝开国皇帝,汉民族和汉文化的伟大奠基者和开拓者,对汉族的发展以及中国的统一有突出贡献。') elif received_text == '你吃中饭了没': send_Message('还没') elif received_text == '介绍一下湖南省呗!': send_Message('湖南省,简称“湘”,是中华人民共和国省级行政区,省会长沙,界于北纬24°38′~30°08′,东经108°47′~114°15′之间,东临江西,西接重庆、贵州,南毗广东、广西,北连湖北,总面积21.18万平方千米。') except Exception as e: pass 如果对Python学习感兴趣,可以加入我的学习群:721195303。群内成员均为Python开发者,定期分享技术干货和学习资料。
转载地址:http://whcb.baihongyu.com/