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 How to operate wechat automatically ? 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
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 .
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 , The use of real machine and simulator is basically the same .
Want to complete the source code can join my Python Learning circle :1156465813
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 .
Be careful : If you're looking for python Well paid jobs . I suggest you write more about real enterprise projects and accumulate experience . Or you won't find a job , Of course, a lot of people have never been in a business , How can there be project experience ? So you have to find more enterprise projects and practice more . If you're lazy and don't want to find , You can also enter my Python Circle of communication :1156465813. There are some real enterprise project cases that I have written before in the group file . You can take it to study , If you don't understand, you can find me in your skirt , I'll answer you patiently when I have time .
The following is useless , For this blog to be crawled by search engines
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
python What is it Zero basis to learn python How long will it take? python Why is it called a reptile
python Novice reptile tutorial python Crawler universal code python How do reptiles make money
python Basic course Web crawler python python Classic examples of reptiles
python Reptiles
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
The above is useless , For this blog to be crawled by search engines