I used Python to find out all the people who deleted my wechat and deleted them automatically

Python sophomore 2020-11-08 13:24:46
used python people deleted wechat


1. summary

I don't know if you have ever sent a message to someone in your address book on wechat , It turned out to be this scene :

I always think that my heart quality is excellent , But in this case ...

After I was half an hour late ( Half a minute ) after , Slowly took out the mobile phone , Open the WeChat , Find... In the address book ABC, Press the delete button silently , At the moment, my heart is still ...

Okay , Let's get back to business , To avoid this happening again , I decided to find out all the people who deleted themselves from the wechat address book and delete them , I have learned on the Internet that the better way to check whether my wechat has been deleted is to transfer money , By transferring money, we can achieve traceless detection .

Let's take a look at the effect of transferring money to others before and after wechat is deleted through two pictures :

Now we know how to detect it , Just when I was ready to test one by one , Unconsciously slide the wechat address list ,100、200 ... 500 ...

I went to ! When did you add so many people , While sliding the list, I glanced at the wechat name :A Selling insurance 、B Apply for credit card 、C Swimming fitness 、D Selling health products ... Now I know the secret of so many people in the wechat address book , But there's a problem , With so many people, I'm not tired to transfer money manually one by one ...

If manual execution doesn't work , So can it be automated by programming ? Thinking about it, I was lost in thought ...

Suddenly there was a flash in my head ( It's not a cramp ), My mind is getting clearer , I didn't write an article the other day Python + Appium Introduction to automatic operation of wechat Do you ? It should be possible to use this , The basic idea of programming is as follows :

  • Get the name of everyone in the wechat address book list ( remarks ) And record , There will be no repetition of this , Because even if you add friends before, there are repeated , I will also change it in the remarks

  • Traverse to get the address list , Transfer to each person separately , If it is detected that it is the person who deleted himself, delete it , If you detect someone who is not deleting yourself, continue to detect the next person , It goes back and forth in turn

2. Environmental Science

Because it was tested on the simulator before Appium There may be some problems with the simulated wechat transfer , Therefore, this paper uses the real machine to realize .

Let's briefly introduce the real machine environment , Let's take a look at the corresponding steps .

  • Take my millet from the corner of the table 5s mobile phone (MIUI10.2、Android8.0.0), Wipe the dust and connect it to your computer with a data cable

  • The phone is powered on after charging for a while , Open wechat and log in to your own wechat

  • In the mobile phone, execute in turn ( Click on ): Set up -> My device -> All parameters ->MIUI edition ( Click the , Open developer mode )-> Back to the settings list -> More Settings -> Developer options -> Turn on the developer option and turn it on separately :USB debugging 、USB install 、USB debugging ( Security Settings ) Options , As shown in the figure :

  • At this time, the phone will pop up USB The purpose of the pop-up frame , We choose to transfer files (MTP) that will do , As shown in the figure :

  • On computer CMD In the implementation of adb devices command , See if you can find your mobile phone , For example, the following figure shows the result of success

  • In the above steps, you may not find the mobile phone , Usually this is a driving problem , Here's a simple way to deal with it : Download a driver wizard , After the installation starts, click driver management , After that, install the corresponding driver to solve the problem , As shown in the figure :

Through the above series of operations , We've taken care of the real environment .

Appium This article will not talk about the environment of , If you don't know , You can look at it :Python + Appium Introduction to automatic operation of wechat .

3. Realization

Now let's start typing code manually , If the Appium If you don't understand the basic code operation , You can still go and have a look at this article I wrote before :Python + Appium Introduction to automatic operation of wechat .

First of all, take a look at the corresponding parameter configuration , The code implementation is as follows :

desired_caps = {
"platformName": "Android", # System
"platformVersion": "8.0.0", # System number
"deviceName": "m5s", # Device name
"appPackage": "com.tencent.mm", # Package name
"appActivity": ".ui.LauncherUI", # app When it starts, it's mainly Activity
'unicodeKeyboard': True, # Use your own input method
'noReset': True # Retain session Information , You can avoid logging back in
}

Let's take a look at how to get the name of wechat address book ( remarks ) list ? The code implementation is as follows :

# Get address list
def get_address_list():
driver.find_elements_by_id('com.tencent.mm:id/cn_')[1].click()
# Get a nickname ( remarks )
address_list = driver.find_elements_by_id('com.tencent.mm:id/dy5')
remarks = []
for address in address_list:
remark = address.get_attribute("content-desc")
# Exclude yourself and wechat official number
if remark != " My wechat name " and " WeChat " not in remark:
remarks.append(remark)
return remarks

After getting the wechat address list , We can traverse it , Let's take a look at how to detect whether your wechat has been deleted , The code implementation is as follows :

# Judge whether it has been deleted
def is_delete(remark, count):
if count == "1":
time.sleep(2)
print(' Click on the wechat search box ')
driver.find_element_by_id('com.tencent.mm:id/cn1').click()
time.sleep(2)
print(' Enter the search information in the search box ')
driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(remark)
time.sleep(2)
print(' Click on the friends you found ')
driver.find_element_by_id('com.tencent.mm:id/tm').click()
time.sleep(2)
# Transfer accounts
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)
driver.find_element_by_id('com.tencent.mm:id/cx_').click()
time.sleep(2)
driver.find_element_by_id('com.tencent.mm:id/cxi').click()
time.sleep(5)
# Judge whether it has been deleted
is_exist = is_element_exist('com.tencent.mm:id/jh')
if is_exist is True:
return remark
else:
return False

In the above methods , If it is detected that the person who deleted his / her wechat is returned to that person's wechat name ( remarks ), And then we record these people ; If it is detected that the person who did not delete his / her wechat is returned False.

After the above process has been carried out , We can get all the people who deleted their wechat , Then we can delete these people from our wechat address book , The code to delete the implementation is as follows :

# Delete the person who deleted himself
def del_person(nicks):
for inx, val in enumerate(nicks):
time.sleep(2)
if inx == 0:
print(' Enter the search information in the search box ')
driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(val)
else:
time.sleep(2)
print(' Click on the wechat search box ')
driver.find_element_by_id('com.tencent.mm:id/cn1').click()
print(' Enter the search information in the search box ')
time.sleep(1)
driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(val)
time.sleep(2)
print(' Click on the person you search for ')
driver.find_element_by_id('com.tencent.mm:id/tm').click()
time.sleep(2)
print(' Click on the top right corner of the chat dialog box ...')
driver.find_element_by_id('com.tencent.mm:id/cj').click()
time.sleep(2)
print(' Click on the picture ')
driver.find_element_by_id('com.tencent.mm:id/f3y').click()
time.sleep(2)
print(' Click on the top right corner of the contact ...')
driver.find_element_by_id('com.tencent.mm:id/cj').click()
time.sleep(2)
print(' Click the delete button ')
driver.find_element_by_id('com.tencent.mm:id/g6f').click()
time.sleep(2)
print(' Click delete in the pop-up box ')
driver.find_element_by_id('com.tencent.mm:id/doz').click()

thus , We'll use it Python + Appium It can automatically find out the people who delete themselves in wechat and delete them .

Source code in the public name Python waiter The background to reply 201108 obtain .

版权声明
本文为[Python sophomore]所创,转载请带上原文链接,感谢

  1. 利用Python爬虫获取招聘网站职位信息
  2. Using Python crawler to obtain job information of recruitment website
  3. Several highly rated Python libraries arrow, jsonpath, psutil and tenacity are recommended
  4. Python装饰器
  5. Python实现LDAP认证
  6. Python decorator
  7. Implementing LDAP authentication with Python
  8. Vscode configures Python development environment!
  9. In Python, how dare you say you can't log module? ️
  10. 我收藏的有关Python的电子书和资料
  11. python 中 lambda的一些tips
  12. python中字典的一些tips
  13. python 用生成器生成斐波那契数列
  14. python脚本转pyc踩了个坑。。。
  15. My collection of e-books and materials about Python
  16. Some tips of lambda in Python
  17. Some tips of dictionary in Python
  18. Using Python generator to generate Fibonacci sequence
  19. The conversion of Python script to PyC stepped on a pit...
  20. Python游戏开发,pygame模块,Python实现扫雷小游戏
  21. Python game development, pyGame module, python implementation of minesweeping games
  22. Python实用工具,email模块,Python实现邮件远程控制自己电脑
  23. Python utility, email module, python realizes mail remote control of its own computer
  24. 毫无头绪的自学Python,你可能连门槛都摸不到!【最佳学习路线】
  25. Python读取二进制文件代码方法解析
  26. Python字典的实现原理
  27. Without a clue, you may not even touch the threshold【 Best learning route]
  28. Parsing method of Python reading binary file code
  29. Implementation principle of Python dictionary
  30. You must know the function of pandas to parse JSON data - JSON_ normalize()
  31. Python实用案例,私人定制,Python自动化生成爱豆专属2021日历
  32. Python practical case, private customization, python automatic generation of Adu exclusive 2021 calendar
  33. 《Python实例》震惊了,用Python这么简单实现了聊天系统的脏话,广告检测
  34. "Python instance" was shocked and realized the dirty words and advertisement detection of the chat system in Python
  35. Convolutional neural network processing sequence for Python deep learning
  36. Python data structure and algorithm (1) -- enum type enum
  37. 超全大厂算法岗百问百答(推荐系统/机器学习/深度学习/C++/Spark/python)
  38. 【Python进阶】你真的明白NumPy中的ndarray吗?
  39. All questions and answers for algorithm posts of super large factories (recommended system / machine learning / deep learning / C + + / spark / Python)
  40. [advanced Python] do you really understand ndarray in numpy?
  41. 【Python进阶】Python进阶专栏栏主自述:不忘初心,砥砺前行
  42. [advanced Python] Python advanced column main readme: never forget the original intention and forge ahead
  43. python垃圾回收和缓存管理
  44. java调用Python程序
  45. java调用Python程序
  46. Python常用函数有哪些?Python基础入门课程
  47. Python garbage collection and cache management
  48. Java calling Python program
  49. Java calling Python program
  50. What functions are commonly used in Python? Introduction to Python Basics
  51. Python basic knowledge
  52. Anaconda5.2 安装 Python 库(MySQLdb)的方法
  53. Python实现对脑电数据情绪分析
  54. Anaconda 5.2 method of installing Python Library (mysqldb)
  55. Python implements emotion analysis of EEG data
  56. Master some advanced usage of Python in 30 seconds, which makes others envy it
  57. python爬取百度图片并对图片做一系列处理
  58. Python crawls Baidu pictures and does a series of processing on them
  59. python链接mysql数据库
  60. Python link MySQL database