范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

用PythonAppium的方式自动化清理微信僵尸好友

  作者:某某白米饭
  来源:Python 技术
  随着微信的使用时间越长,微信好友也越来越多,有些好友将你删除了你也不知道。当我们发消息的时候会出现下面扎心的一幕,然后默默将他删除
  使用 Appium
  安装一下 Python 用到的模块 pip install Appium-Python-Client 获取好友列表
  在 Pycharm 中配置一下启动环境 desired_capabilities = {     "platformName": "Android", # 操作系统     "deviceName": "2a254a02", # 设备 ID,使用 cmd 中 adb devices 命令得到     "platformVersion": "10.0.10", # 设备版本号,在手机设置中查看     "appPackage": "com.tencent.mm", # app 包名     "appActivity": "com.tencent.mm.ui.LauncherUI", # app 启动时主 Activity     "noReset": True # 是否保留 session 信息 避免重新登录 }  driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_capabilities) print("微信启动")
  下图是 appium 启动后截图
  点击红框中按钮,将上面的参数填上,点击 start Session
  启动后点击刷新按钮,看到的界面和真机上一样了,在真机上点击通讯录按钮并刷新界面
  在 appium 界面点击一个好友,可以看到这个好友有一个 content-desc 和 resource-id 代表了昵称和资源 id
  然后我们用 Python 获取所有的好友昵称 # 所有好友 friends = [] def get_friends():     # 好友id     address_list = driver.find_elements_by_id("com.tencent.mm:id/dy5")     for address in address_list:         # 昵称         friend = address.get_attribute("content-desc")         # 过滤掉自己、微信团队、文件夹传输助手         if friend != "某某白米饭" and friend != "微信团队" and friend != "文件夹传输助手":             friends.append(friend)         # 获取到最后一个好友返回         if friend == "Jiuki":             return     # 向上滚动获取好友,获取好友会重复,最后结果需过滤     driver.swipe(100, 1000, 100, 500)     # 递归循环得到所有好友     get_friends() 得到被对方删除的好友
  在微信中被对方删除后,是不能进行转账的,这也是用来判断被对方删除的依据
  下面四步骤就是用 Python 模拟微信转账操作 按上面获取的昵称搜索得到好友 在好友对话框中点击 + 号,获取到转账按钮 在转账界面输入 1 元,点击转账按钮,得到是否为好友结果 最后返回到搜索页面清空搜索框内容 # 判断是否被删 def is_del(f):      time.sleep(2)     driver.find_element_by_id("com.tencent.mm:id/cn1").click()     time.sleep(2)     # 在搜索框输入搜索信息     driver.find_element_by_id("com.tencent.mm:id/bhn").send_keys(f)     time.sleep(2)     #点击好友     driver.find_element_by_id("com.tencent.mm:id/tm").click()     time.sleep(2)     # 转账操作 + 号     driver.find_element_by_id("com.tencent.mm:id/aks").click()     time.sleep(2)     # 转账按钮     driver.find_elements_by_id("com.tencent.mm:id/pa")[5].click()     time.sleep(2)     # 数字 1     driver.find_element_by_id("com.tencent.mm:id/cx_").click()     time.sleep(1)     # 付款界面转账按钮     driver.find_element_by_id("com.tencent.mm:id/cxi").click()     time.sleep(2)      # 判断是否被删     is_exist = is_element("com.tencent.mm:id/dos")     if is_exist:         # 不能转账就点击确定按钮         driver.find_element_by_id("com.tencent.mm:id/doz").click()          time.sleep(2)     else:         # 可以转账就后退         driver.press_keycode(4)      # 后退到 搜索页面     driver.press_keycode(4)     driver.press_keycode(4)     driver.press_keycode(4)     driver.press_keycode(4)     # 清空文本框     driver.find_element_by_id("com.tencent.mm:id/bhn").send_keys("")          return f  def is_element(id):     flag = None     try:         driver.find_element_by_id(id)         flag = True     except NoSuchElementException:         flag = False     finally:         return flag
  因为 appium 操作 APP 有延迟,所以在每个操作后延迟 2 秒 删除好友
  在得到被删好友的联系人之后,用个步骤在 Python 中微信删除好友 在搜索框中用昵称搜索被删好友的联系人 进入对话界面后,点击界面右上角的... 点击好友头像 点击个人信息界面右上角的... 点击删除按钮 在选择框中点击删除 # 删除好友 def del_friend(friend):     time.sleep(2)     driver.find_element_by_id("com.tencent.mm:id/cn1").click()     time.sleep(2)     driver.find_element_by_id("com.tencent.mm:id/bhn").send_keys(friend)     time.sleep(2)     #点击好友     driver.find_element_by_id("com.tencent.mm:id/tm").click()     time.sleep(2)     # 右上角...     driver.find_element_by_id("com.tencent.mm:id/cj").click()     time.sleep(2)     # 头像     driver.find_element_by_id("com.tencent.mm:id/f3y").click()     time.sleep(2)     # 右上角...     driver.find_element_by_id("com.tencent.mm:id/cj").click()     time.sleep(2)     # 删除按钮     driver.find_element_by_id("com.tencent.mm:id/g6f").click()     time.sleep(2)     # 选中删除     driver.find_element_by_id("com.tencent.mm:id/doz").click() 总结
  学习了 appium 的使用,并用它自动化清理了微信僵尸好友。

北京皓扬云数据科技有限公司北京皓扬云数据科技有限公司,是高标准低能耗超大型的数据中心运营商。皓扬数据坚持低碳战略,以碳达峰碳中和为引领,不断探索绿色节能技术和长期可持续发展。公司致力于打造核心定制优势超大规圆桌论坛跨境电商创业投资新机遇漫谈36氪跨境电商峰会12月23日,36氪首届跨境电商峰会在深圳举行,今年我们以新跨境新企点为主题。中国跨境电商规模在过去5年增长了近10倍,在亚马逊上,中国品牌卖家完成品牌注册的规模从20172019Python机器学习(四十七)NumPy排序查找计数NumPy中提供了各种排序相关的函数。这些排序函数实现了不同的排序算法,每个算法的特点是执行速度最坏情况性能所需的工作空间和算法的稳定性。下表为三种排序算法的比较。种类速度最差情况海思麒麟我还行2021年12月9日,极客湾整理了目前所有移动SOC的Geekbench5的CPU排行榜,果不其然前面清一色的Apple处理器,但是,当我往下看时,发现了亮点。麒麟9000的多核成小米MIUI13稳定版已支持纯净模式,确保Apk应用安全IT之家1月14日消息,去年9月,小米手机开始招募MIUI纯净模式内测用户,但后续不了了之。随着MIUI13稳定版的到来,有网友发现小米已经悄然上线了这一功能。当你的小米手机安装应真实有料刚需家庭入手实用型家用电器(家电年货如何选)前言随着生活水平的提高,现在小家电的选择也越来越多样化,不管是传统家电还是智能家电都有很多的选择。随着智能技术的普及,传统家电也进行了重现洗牌,方便快捷已经成为现在家电的标准。生活华为悄然上架5G新机,100W快充5000万四摄,仅售3799元起中国内消费者潜意识中往往把国产手机厂商分成两类,一类是华为,一类是其他国产手机品牌。由于一直追求自研,并拥有核心卖点的华为手机的销售量确要比其他国产手机高一倍,一度借着麒麟处理器,苹果Safari浏览器爆出安全漏洞跟踪用户访问的其他网站浏览器指纹识别服务提供商FingerprintJS发现了苹果Safari浏览器存在一个严重的BUG。该Bug允许任何使用IndexedDB的网站在用户浏览会话期间访问其他网站生成的美国5G干扰自家民航飞机落不下来,为何中国5G就不会?近日,美国多家航空公司联合致信白宫,要求停止美国5G设备在机场附近的部署,理由是5G设备会对飞机高度计等无线电设备造成有害干扰,进而造成大面积飞机航班停飞。外媒报道截图作为大洋彼岸折叠屏手机,没有苹果行吗?各大厂商集中发布折叠屏手机,要将这个产品推上主流。但目前这个品类的市占率仍不到1。大众依然在期待一款像iPhone一样创新更具划时代意义的产品出现。文中国企业家记者赵东山编辑李薇头iPhone13蝉联中国销冠,为何嘴上力挺国产,却用行动买苹果?爱国,遵守各种规则,别乱扔垃圾,大声喧哗,别欺骗你的同胞,作假售假,食品安全,别碰瓷等等,远比你不买iPhone13更能体现你爱国。用苹果纯粹是个人习惯,我用了7,8年了,就为了省