Python+Apium自動化を実現して微信ゾンビの親友を整理する方法


WeChatの利用時間が長くなるにつれて、WeChatの友達も増えてきました。一部の友達はあなたを削除しました。あなたも分かりません。私達がメッセージを送る時、下の心をくくるシーンが現れて、そして黙々として彼を削除します。

アプリを使う
基本的なappumは公衆号の文章「両手を解放して、生産力を高めます。この神器は持つべきです」ですでに述べました。ここで最新の1.20.0バージョンのapiumを使って、古いバージョンは本物の微信がフラッシュバックします。
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('    ')
下図はappum起動後のスクリーンショットです。

赤いボックスの中のボタンをクリックして、上のパラメータを記入して、start Sessionをクリックします。

起動後に更新ボタンをクリックして、見た画面は本物のマシンと同じになりました。

appumインタフェースで友達をクリックしたら、この友達はニックネームとリソース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()
相手に削除された友達を得る。
WeChatで相手に削除された場合、振替はできません。これも削除されたと判断する根拠です。

次の4つのステップはPythonでWeChat振替操作をシミュレートします。
  • 上記のニックネームで友達を検索して
  • を得ました。
  • 友達ダイアログで+番をクリックして、振替ボタン
  • を取得します。
  • 振込画面で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
    アプリの操作が遅れていますので、操作毎に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()
    締め括りをつける
    appumの使用を学んで、自動化で微信ゾンビの友達を整理しました。
    例コード:https://github.com/JustDoPython/python-examples/tree/master/moumoubaimifan/wxDelFriends
    ここでPython+Apiumについて自動化された微信ゾンビの友達を整理する方法についての記事を紹介します。Python+Apium自動化されたゾンビの友達の内容を整理します。私達の以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。