婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python自動掃描出微信不是好友名單的方法

Python自動掃描出微信不是好友名單的方法

熱門標簽:武漢外呼系統平臺 沈陽外呼系統呼叫系統 池州外呼調研線路 外呼系統哪些好辦 沈陽人工外呼系統價格 富錦商家地圖標注 如何申請400電話費用 江西省地圖標注 沈陽防封電銷卡品牌

前言

最近找幾個老友準備聊天發現幾個已經被刪除好友名單,做為潛水黨多年的我已經不知道成為多少人的黑名單,但是好友列表卻依然有不是好友的名單,面對龐大的好友數量想要清除談何容易。雖然可以發消息給所有人,來識別是否是好友,但是畢竟打擾到了其他人,經過一番查詢發現點擊轉賬時會提示不是好友,這里只是點擊轉賬并不是真的轉賬哦。做為一名技術潛水黨,肯定要低調的辦好事情。之前已經用appium玩過自動化了,那么這次就輕車熟路了。

準備

1.Appium環境搭建
環境搭建這里不再介紹,需要的可以看我之前的文章或者百度
2.手動操作流程圖轉自動操作流程圖


最開始畫的流程圖,然后按照流程圖去實現操作流程和邏輯。初步實現完成后進行調試,過程中不少邏輯不嚴謹的地方,以及一些框架自帶的坑,最終總算可以一次性掃描了。但是其中還是存在個別的坑需要手動處理一下。暫時先記錄下來,等以后看情況優化吧。
遇到暫停基本是聊天窗識別不到了,可以手動上滑一下,讓程序識別下一個聊天窗口。需要先登陸微信號。

代碼

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
from selenium.common.exceptions import StaleElementReferenceException

# platformVersion = input('系統版本號(platformVersion): ')
# deviceName = input('設備名稱(deviceName):')


desired_caps = {
    "platformName": "Android",  # 系統
    "platformVersion": '10.0',  # 系統版本號
    # "platformVersion": platformVersion,  # 系統版本號
    "deviceName": 'b68548ed',  # 設備名
    # "deviceName": deviceName,  # 設備名
    "appPackage": "com.tencent.mm",  # 包名
    "appActivity": ".ui.LauncherUI",  # app 啟動時主 Activity
    'unicodeKeyboard': True,  # 使用自帶輸入法
    'noReset': True  # 保留 session 信息,可以避免重新登錄
}


def is_element_exist(driver, by, value):
    """判斷元素是否存在"""
    try:
        driver.find_element(by=by, value=value)
    except Exception as e:
        return False
    else:
        return True


def break_key(n):
    """點擊返回按鈕"""
    for i in range(n):
        el1 =  wait.until(EC.element_to_be_clickable((By.ACCESSIBILITY_ID,"返回")))
        el1.click()

def swipe_up():
    """向上滑動屏幕"""
    # 獲取屏幕的size
    size = driver.get_window_size()
    # 獲取屏幕寬度 width
    width = size['width']
    # 獲取屏幕高度 height
    height = size['height']
    x1 = width*0.5
    y1 = height*0.45
    y2 = height*0.3
    driver.swipe(x1,y1,x1,y2,3000)
    print("向上滑動")
    

if __name__ == '__main__':
    driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
    # 設置等待
    wait = WebDriverWait(driver, 300)
    status = True
    n = 2
    count = 1   
    while status:
        try:
            # 點擊通訊錄
            a1 = wait.until(EC.element_to_be_clickable(
                (By.XPATH, "http://android.widget.FrameLayout[@content-desc=\"當前所在頁面,與的聊天\"]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.view.ViewGroup/android.widget.FrameLayout[1]/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.RelativeLayout[2]/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView")))
            a1.click()
            #向上滑動
            swipe_up()
            if n  13:
                # 進入第一個聊天窗口,公眾號為1,用戶元素定位從2開始,一頁最多12,每滑動屏幕從新開始到12.
                g73 = wait.until(EC.element_to_be_clickable(
                    (By.XPATH, "http://android.widget.FrameLayout[@content-desc='當前所在頁面,與的聊天']/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.view.ViewGroup/android.widget.FrameLayout[1]/android.widget.FrameLayout/android.widget.FrameLayout/com.tencent.mm.ui.mogic.WxViewPager/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ListView/android.widget.LinearLayout[%d]/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.view.View"%(n))))
                g73.click()
                print("進入了第%d個好友聊天窗口"%(count))
                count += 1
            else:
                n -= 1
                g73 = wait.until(EC.element_to_be_clickable(
                    (By.XPATH, "http://android.widget.FrameLayout[@content-desc='當前所在頁面,與的聊天']/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.view.ViewGroup/android.widget.FrameLayout[1]/android.widget.FrameLayout/android.widget.FrameLayout/com.tencent.mm.ui.mogic.WxViewPager/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.ListView/android.widget.LinearLayout[%d]/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.view.View"%(n))))
                g73.click()
                print("進入了第%d個好友聊天窗口"%(count))
                count += 1
            # 判斷聊天窗是否有發送消息的元素
            is_weichat = is_element_exist(driver, "id", "com.tencent.mm:id/ijq")
            if is_weichat == True:
                while True:
            #     # 有發消息則點擊
                    wait.until(EC.element_to_be_clickable(
                    (By.ID, "com.tencent.mm:id/ijq"))).click()
                    print("點擊了發消息")
                    #點擊+號
                    is_jia = is_element_exist(driver, 'id', 'com.tencent.mm:id/ay7')
                    #判斷是否有加號
                    if is_jia == True:
                        el4 = wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/ay7")))
                        el4.click()
                        print('點擊+號')
                        #判斷是否為轉賬
                        is_zhuanzhang = wait.until(EC.element_to_be_clickable((By.XPATH,"http://android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[1]/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.GridView/android.widget.LinearLayout[6]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView")))
                        if is_zhuanzhang.text == "轉賬":
                        # is_zhuanzhang = is_element_exist(driver, 'xpath', '//android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[1]/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.GridView/android.widget.LinearLayout[6]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.TextView')
                        # if is_zhuanzhang == True:
                            #點擊轉賬
                            el5 =  wait.until(EC.element_to_be_clickable((By.XPATH,"http://android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[1]/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.GridView/android.widget.LinearLayout[6]/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView[2]")))
                            el5.click()
                            print('點擊轉賬')
                            #輸入金額0.01
                            el6 = wait.until(EC.element_to_be_clickable((By.ID,"com.tencent.mm:id/jf4")))
                            el6.send_keys("0.01")
                            print('輸入金額')
                            #點擊確認轉賬
                            el7 =  wait.until(EC.element_to_be_clickable((By.ID,"com.tencent.mm:id/e6c")))
                            el7.click()
                            print('點擊確認轉賬')
                            time.sleep(2)
                            #判斷是否有知道了
                            is_not_friend = is_element_exist(driver,'id','com.tencent.mm:id/ffp')
                            if is_not_friend == True:
                            #點擊知道了
                                el8 =  wait.until(EC.element_to_be_clickable((By.ID,"com.tencent.mm:id/ffp")))
                                el8.click()
                                print('點擊知道了')
                                #獲取用戶名稱并打印
                                el9 =  wait.until(EC.element_to_be_clickable((By.ID,"com.tencent.mm:id/h2k")))
                                print('不是好友的微信名稱為:',el9.text)
                                with open('weixin.txt','a+')as f:
                                    f.write('不是好友的微信名稱:' + el9.text + '\n')
                                driver.keyevent(4)
                                driver.keyevent(4)
                                driver.keyevent(4)
                                driver.keyevent(4)
                                print('返回')
                                n += 1                
                                break
                            else:
                                #沒有知道則返回
                                driver.keyevent(4)
                                break_key(2)
                                n += 1
                                print('返回')
                                break
                        else:
                            #沒有轉賬則返回到首頁
                            driver.keyevent(4)
                            driver.keyevent(4) 
                            print('返回')
                            n += 1
                            break

                    else:
                        #沒有+號則返回到首頁
                        driver.keyevent(4)
                        driver.keyevent(4)
                        print('返回')
                        n += 1
                        break
        except StaleElementReferenceException:
            print('捕獲StaleElementReferenceException異常')                    

這里已經掃描到200多個好友了,其中可能需要手動上滑一下


不是好友的名單會在當前目錄生成一個txt文件進行保存


偶然出現幾個異常,不知道是什么原因


總的來說功能基本都已經實現了,還有細節問題后面看情況優化吧

到此這篇關于Python自動掃描出微信不是好友名單的方法的文章就介紹到這了,更多相關Python自動掃描出微信好友內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Python自動化之文件自動化處理
  • Python自動化之批量處理工作簿和工作表
  • python自動化之如何利用allure生成測試報告
  • 用python自動生成日歷
  • 用Python自動下載網站所有文件
  • 用Python寫腳本自動評論再也不怕碰到噴子

標簽:潛江 銅川 通遼 常德 呂梁 黑龍江 阿里 株洲

巨人網絡通訊聲明:本文標題《Python自動掃描出微信不是好友名單的方法》,本文關鍵詞  Python,自動,掃,描出,微信,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python自動掃描出微信不是好友名單的方法》相關的同類信息!
  • 本頁收集關于Python自動掃描出微信不是好友名單的方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91女人视频在线观看| 精品日韩在线观看| 久久久久亚洲综合| 国产成a人亚洲精| 亚洲精品国产a| 色综合中文综合网| 国产网红主播福利一区二区| 男人操女人的视频在线观看欧美| 欧美日韩视频第一区| 调教+趴+乳夹+国产+精品| 欧美一区二区福利视频| 97久久精品人人爽人人爽蜜臀| 午夜欧美在线一二页| 日日噜噜夜夜狠狠视频欧美人 | 高清视频一区二区| 国产mv日韩mv欧美| 欧美午夜电影一区| 暴力调教一区二区三区| 久久精品国产亚洲高清剧情介绍 | 久久一二三国产| 91蝌蚪porny| 欧美系列在线观看| 欧美一区二区视频免费观看| 国产欧美日韩不卡免费| 欧美va亚洲va| 亚洲免费观看在线视频| 国产精品美女久久久久久久久久久| 51久久夜色精品国产麻豆| 欧美精品一级二级| 欧美一区二区三区视频| 中文字幕在线免费不卡| 国产精品福利一区| 国产精品初高中害羞小美女文| 一二三四社区欧美黄| 亚洲va欧美va国产va天堂影院| 亚洲欧美一区二区三区国产精品 | 久久草av在线| 欧美私模裸体表演在线观看| 欧美日韩和欧美的一区二区| 色综合 综合色| 91久久一区二区| 欧美精品久久一区二区三区| 1区2区3区欧美| 99久久精品国产导航| 久久婷婷久久一区二区三区| 日韩精品1区2区3区| 欧美视频在线一区| 国产精品国产精品国产专区不蜜| 国产精品一区二区不卡| 99久久精品国产导航| 亚洲欧洲另类国产综合| 波多野洁衣一区| 亚洲日本青草视频在线怡红院| 无码av免费一区二区三区试看| 在线观看网站黄不卡| 精品国产不卡一区二区三区| 亚洲欧美日韩国产一区二区三区| av亚洲精华国产精华| 亚洲美女区一区| 欧美精品一二三四| 国产精品综合视频| 一区在线中文字幕| 欧美三级日韩在线| 奇米综合一区二区三区精品视频| 欧美电影免费提供在线观看| 伊人夜夜躁av伊人久久| 欧美一区二区在线看| 韩国一区二区视频| 91精品免费在线观看| 国产一区福利在线| 精品日韩欧美一区二区| 成人午夜视频在线| 国产亚洲婷婷免费| 欧美亚洲禁片免费| 国产在线精品一区二区不卡了| 中文字幕欧美一| 日韩一区二区高清| 免播放器亚洲一区| 91麻豆国产在线观看| 美女视频黄频大全不卡视频在线播放| 久久影院电视剧免费观看| 在线精品视频一区二区| 久久99精品久久久久婷婷| 欧美精品一级二级三级| 97国产精品videossex| 黄色日韩网站视频| 免费观看在线色综合| 亚洲人妖av一区二区| 精品毛片乱码1区2区3区| 色一情一乱一乱一91av| 国产91露脸合集magnet| 秋霞午夜鲁丝一区二区老狼| 亚洲视频一二三区| 国产欧美精品一区二区色综合| 欧美一级黄色大片| 欧美一级高清片| 欧美日韩免费高清一区色橹橹| 一本大道av伊人久久综合| 国产91富婆露脸刺激对白| 国产高清视频一区| 亚洲激情六月丁香| 一区二区久久久久| 亚洲精品乱码久久久久久| 亚洲色图丝袜美腿| 亚洲黄色在线视频| 一区二区三区在线观看国产| 亚洲免费视频成人| 亚洲自拍偷拍综合| 国产女人aaa级久久久级 | 污片在线观看一区二区| 欧美a级理论片| 国产一区二区女| 从欧美一区二区三区| 成人h动漫精品| 免费人成网站在线观看欧美高清| 亚洲v中文字幕| 蓝色福利精品导航| 成人aaaa免费全部观看| 欧美在线高清视频| 91精品中文字幕一区二区三区| 精品国产一区二区三区忘忧草| 久久看人人爽人人| 亚洲免费成人av| 精品在线亚洲视频| 99久久精品99国产精品| 日韩一级二级三级| 中文一区二区在线观看| 欧美精品一区二区三区久久久 | 亚洲一区二区三区激情| 久久99日本精品| 色综合天天综合给合国产| 5月丁香婷婷综合| 国产精品久久三区| 免费在线观看精品| 色哟哟精品一区| 久久精品视频网| 视频一区二区国产| 成av人片一区二区| 国产夜色精品一区二区av| 亚洲一区视频在线观看视频| 九色综合狠狠综合久久| 91福利区一区二区三区| 18成人在线视频| 国产成人免费9x9x人网站视频| 国产精品国产三级国产aⅴ无密码| 蜜臀av性久久久久蜜臀aⅴ四虎| 一本久久精品一区二区| 国产亚洲一区二区三区四区| 欧美96一区二区免费视频| 欧美日韩一区二区三区不卡| 国产精品高潮久久久久无| 国产成人精品免费一区二区| 日韩色在线观看| 青娱乐精品视频在线| 欧美电影影音先锋| 日本欧美久久久久免费播放网| 国精产品一区一区三区mba视频| 91精品国产综合久久久蜜臀粉嫩| 亚洲成人av一区| 欧美久久久久久蜜桃| 婷婷夜色潮精品综合在线| 欧美三级三级三级爽爽爽| 五月婷婷欧美视频| 日韩一区二区三区在线| 日本特黄久久久高潮| 日韩精品在线看片z| 精品无人区卡一卡二卡三乱码免费卡 | 中文字幕制服丝袜一区二区三区 | 欧美精品99久久久**| 麻豆中文一区二区| 精品国产乱码久久久久久影片| 精品一区二区国语对白| 国产精品国产三级国产aⅴ入口| 日本高清免费不卡视频| 亚洲成人精品影院| 久久五月婷婷丁香社区| 色综合久久久久久久久久久| 日韩成人精品视频| 日本高清不卡在线观看| 日本强好片久久久久久aaa| 久久久国产精品麻豆| 欧美这里有精品| 国产黄色精品视频| 亚洲国产精品久久人人爱蜜臀| 国内精品伊人久久久久av一坑| 国产精品麻豆视频| 日韩一级免费一区| 99久久99久久免费精品蜜臀| 日本在线不卡视频一二三区| 国产精品久久看| 久久久亚洲综合| 欧美日韩一区二区三区不卡| 99麻豆久久久国产精品免费| 蜜臀久久99精品久久久画质超高清 | 国产精品三级av| 久久影音资源网| 精品精品国产高清a毛片牛牛| 欧美视频精品在线观看| www.欧美日韩国产在线| 高清国产一区二区|