当前位置:网站首页>I used Python to find out all the people who deleted my wechat and deleted them automatically

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

2020-11-08 13:45:52 Python sophomore

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 :

image

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

image

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 ...

image

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 .

image

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

image

image

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 ...

image

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 ...

image

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 :

image

  • 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 :

image

  • 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

image

  • 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 :

image

image

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 .

image

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