importtimefrom appium importwebdriver"""找出了删除我微信的所有人并将他们自动化删除了"""

def is_element_exist(element, timeout=3):"""判断元素是否存在"""count=0while count

souce=driver.page_sourceif element insouce:returnTrueelse:

count+= 1time.sleep(1)returnFalse

desired_caps={"platformName": "Android", #系统

"deviceName": "308f9a91", #设备 ID

"platformVersion": "10", #设备版本号

"appPackage": "com.tencent.mm", #包名

"appActivity": ".ui.LauncherUI", #app 启动时主 Activity

'unicodeKeyboard': True, #使用自带输入法

'noReset': True #保留 session 信息,可以避免重新登录

}defswipe_up(distance, times):"""上拉方法

:param distance: 为滑动距离

:param times: 为滑动时间"""width= 1080height= 1920 #width 和 height根据不同手机而定

driver.swipe(1 / 2 * width, 9 / 10 * height, 1 / 2 * width, (9 / 10 - distance) *height, times)defget_address_list(flag):"""获取通讯录列表"""

ifflag:

driver.find_elements_by_id('com.tencent.mm:id/cn_')[1].click()

swipe_up(1 / 2, 2000)else:

swipe_up(5 / 6, 2000)#获取昵称(备注)

address_list = driver.find_elements_by_id('com.tencent.mm:id/dy5')

remark_list=[]for address inaddress_list:

remark= address.get_attribute("content-desc")#排除自己和微信官方号

if remark != "文件传输助手" and "微信团队" and "自己微信名称" not inremark:

remark_list.append(remark)returnremark_listdefis_delete(remark, count):"""判断是否删除"""

if count == "1":

driver.find_element_by_id('com.tencent.mm:id/cn1').click() #点击微信搜索框

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(remark) #在搜索框输入搜索信息

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/tm').click() #点击搜索到的好友

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/aks').click() #点击更多+号

time.sleep(1)

driver.find_elements_by_id('com.tencent.mm:id/pa')[5].click() #点击转账

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/cx_').click() #点击键盘1

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/cxi').click() #点击转账

time.sleep(1)#判断是否被删以及是否为风险提醒用户

is_exist = is_element_exist('com.tencent.mm:id/jh')

is_exist_risk= is_element_exist('取消支付')ifis_exist:returnremarkelifis_exist_risk:

driver.find_element_by_accessibility_id('取消支付').click() #点击取消支付

returnFalseelse:returnFalsedefsearch_back():"""返回搜索框"""driver.find_element_by_id('com.tencent.mm:id/dn').click() #点击转账页面返回按钮

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/rs').click() #点击联系人返回按钮

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/fsv').click() #清除搜索框,输入下一个

defdel_person(nicks):"""删除把自己删除的人"""

for index, value inenumerate(nicks):

time.sleep(1)if index ==0:

driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(value) #在搜索框输入搜索信息

else:

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/cn1').click() #点击微信搜索框

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(value) #在搜索框输入搜索信息

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/tm').click() #点击搜索到的人

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/cj').click() #点击聊天对话框右上角..

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/f3y').click() #点击头像

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/cj').click() #点击联系人右上角...

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/g6f').click() #点击删除按钮

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/doz').click() #点击弹出框中的删除

if __name__ == '__main__':

remarks=[]

driver= webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)

time.sleep(2)

remarks1=get_address_list(True)

remarks.extend(remarks1)whileTrue:#是否到了通讯录末尾

is_end = is_element_exist('com.tencent.mm:id/azb')

time.sleep(1)

remarks2=get_address_list(False)

remarks.extend(remarks2)ifis_end:breakremarks= set(remarks) #去重

print("通讯录昵称列表总数:", len(remarks))print("通讯录昵称列表:", remarks)

time.sleep(3)

dels=[]for inx, val inenumerate(remarks):

rt= ""

if inx ==0:

rt= is_delete(val, "1")else:

rt= is_delete(val, "")if rt isFalse:driver.keyevent(4)

search_back()#被删除

else:

dels.append(rt)

time.sleep(1)

driver.find_element_by_id('com.tencent.mm:id/doz').click() #点击提示框的“知道了”

search_back()print("删除我的人总数:", len(dels))print("删除我的人:", dels)del_person(dels) # 删除-删除我的人

python查微信好友是否删除自己_Python + Appium 自动化操作微信查找自己是否被删除...相关推荐

  1. python自动操作微信_Python + Appium 自动化操作微信入门

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云,作者:Python小二 简介 Appium 是一个开源的自动 ...

  2. python控制手机微信_Python + Appium 自动化操作微信入门看这一篇就够了

    简介 Appium 是一个开源的自动化测试工具,支持 Android.iOS 平台上的原生应用,支持 Java.Python.PHP 等多种语言. Appium 封装了 Selenium,能够为用户提 ...

  3. python自动操作微信_Python + Appium 自动化操作微信

    环境 本文主要环境如下: Win10 JDK1.8 Appium Python3.7 android-sdk mumu 模拟器 JDK 下载地址:https://www.oracle.com/java ...

  4. python自动操作微信_Python+Appium 自动化操作微信入门看这一篇就够了

    简介 Appium 是一个开源的自动化测试工具,支持 Android.iOS 平台上的原生应用,支持 Java.Python.PHP 等多种语言. Appium 封装了 Selenium,能够为用户提 ...

  5. Python + Appium 自动化操作微信入门

    Appium 是一个开源的自动化测试工具,支持 Android.iOS 平台上的原生应用,支持 Java.Python.PHP 等多种语言. Appium 封装了 Selenium,能够为用户提供所有 ...

  6. appium java模拟微信登录,python实战之结合Appium自动化操作微信

    本教程操作环境:win7系统,JDK1.8,Appium,Python3.7,android-sdk,JDK,模拟器 1.Appium介绍 Appium是一个开源的自动化测试工具,其支持iOS和安卓平 ...

  7. python:获取微信好友列表信息(二)进行导出微信好友到csv数据读取与处理

    接上一篇:https://blog.csdn.net/seoyundu/article/details/81543656 代码中:对csv文件读取,并利用pandas库处理,统计出好友信息. pand ...

  8. 用什么软件测试微信被拉黑,微信好友是否拉黑你,点一下微信这个设置,直接显示出来...

    原标题:微信好友是否拉黑你,点一下微信这个设置,直接显示出来 微信是我们生活中常用的一款聊天软件,不知道大家是否有遇到过这样的问题,就是微信里的好友把你拉黑了,而你却不知情.那如何检测微信好友是否拉黑 ...

  9. python爬取新浪新闻首页_Python爬虫学习:微信、知乎、新浪等主流网站的模拟登陆爬取方法...

    微信.知乎.新浪等主流网站的模拟登陆爬取方法 摘要:微信.知乎.新浪等主流网站的模拟登陆爬取方法. 网络上有形形色色的网站,不同类型的网站爬虫策略不同,难易程度也不一样.从是否需要登陆这方面来说,一些 ...

最新文章

  1. SQL基础学习总结:1(数据库)
  2. 理解学习this指向问题
  3. guava之ComparisonChain
  4. highly dynamic working process is a great approach for learning
  5. 二十三、“为天下人谋幸福,才是真正的大事。”(2021.7.9)
  6. 电脑知识:关于电脑的十大误区,原来是这样!
  7. Matlab各种最值问题
  8. python实现接口自动化_python 实现接口自动化1
  9. windows下ping命令的结果前加上系统的当前时间
  10. 一加9RT外观和部分参数揭晓:搭载骁龙888+E4直屏
  11. Django学习手册 - ORM sqlit基础数据库操作
  12. java线性方程组求解_java解线性方程组
  13. win7在网上邻居上看不到别的电脑如何解决
  14. 功放与喇叭的匹配原则
  15. EMMC内存芯片和NAND区别
  16. 嵌入式硬件基础知识汇总<附带与硬件密切相关的软件介绍>
  17. 【店小蜜】基础介绍-全自动模式
  18. (附源码)Springboot+mysql+基于VUE框架的商城综合项目设计与实现 毕业设计111612
  19. pso神经网络用python_基本pso优化神经网络程序
  20. 限制VB文本框输入的代码

热门文章

  1. 对jquery的conflict方法的解读
  2. c#转换成vbnet 工具 (源代码)
  3. Statement和PreparedStatement深入学习总结
  4. OAuth 2.0初学者指南
  5. 人生的主干,提及程序化
  6. 如何把视频压缩变小?视频压缩方法介绍
  7. JavaScript函数式编程之深入理解纯函数
  8. LINQ Order by 排序
  9. CSS-带尖角的对话框
  10. Interleaving String