亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 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自動掃描出微信不是好友名單的方法的相關信息資訊供網民參考!
  • 推薦文章
    欧美1区| 青青青草影院| 欧美一区二区三区在线观看| 超级乱淫伦动漫| 韩国毛片免费大片| 欧美大片aaaa一级毛片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产精品自拍亚洲| 精品国产一级毛片| 日本伦理黄色大片在线观看网站| 黄视频网站在线看| 一本高清在线| 午夜激情视频在线播放| 亚洲第一页乱| 欧美国产日韩精品| 国产不卡高清在线观看视频 | a级毛片免费全部播放| 国产一区二区精品尤物| 精品国产一区二区三区精东影业| 欧美激情一区二区三区在线播放 | 成人影院一区二区三区| 久久精品成人一区二区三区| 日韩欧美一二三区| 国产一区二区精品久久91| 亚洲精品久久玖玖玖玖| 国产精品免费精品自在线观看| 日韩专区在线播放| 国产一级生活片| a级黄色毛片免费播放视频| 国产不卡在线观看视频| 日韩av东京社区男人的天堂| 国产精品自拍亚洲| 免费国产在线观看| 黄视频网站免费看| 国产视频在线免费观看| 国产成人女人在线视频观看| 999精品视频在线| 韩国三级视频在线观看| 国产精品自拍亚洲| 可以免费在线看黄的网站| 精品国产一区二区三区免费 | 99久久精品费精品国产一区二区| 国产成人精品综合在线| 国产国语对白一级毛片| 97视频免费在线观看| 亚洲精品影院| 免费国产在线观看不卡| 天天做日日爱| 国产成人啪精品| 国产综合91天堂亚洲国产| 国产a毛片| 国产伦精品一区二区三区无广告 | 国产极品白嫩美女在线观看看| 久久久久久久男人的天堂| 国产一区二区精品尤物| 二级片在线观看| 久久国产精品只做精品| 久久久成人网| 免费的黄色小视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产一区二区福利久久| 欧美1区2区3区| 亚洲精品久久玖玖玖玖| 四虎影视库| 麻豆午夜视频| 九九热国产视频| 国产91精品一区二区| 九九久久99综合一区二区| 日韩中文字幕在线播放| 99久久精品国产高清一区二区| 国产不卡高清| 精品国产一区二区三区精东影业 | 午夜激情视频在线播放| 91麻豆精品国产高清在线 | 精品久久久久久中文字幕2017| 91麻豆tv| 二级片在线观看| 国产成a人片在线观看视频| 久草免费在线视频| 精品国产一区二区三区免费 | 日韩女人做爰大片| 国产91丝袜在线播放0| 国产视频在线免费观看| 九九久久99综合一区二区| 精品视频一区二区三区免费| 四虎影视久久久| 久久精品欧美一区二区| 国产福利免费视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99热视热频这里只有精品| 日韩专区一区| 精品国产一区二区三区精东影业| 国产视频网站在线观看| 国产不卡在线看| 亚洲 国产精品 日韩| 成人免费一级毛片在线播放视频| 免费的黄色小视频| 二级特黄绝大片免费视频大片| 欧美激情中文字幕一区二区| 久久国产影视免费精品| 久久成人综合网| 国产网站免费| 国产麻豆精品免费视频| 国产一区二区精品久久| 高清一级毛片一本到免费观看| 国产美女在线一区二区三区| 国产麻豆精品视频| 天天做人人爱夜夜爽2020毛片| 欧美α片无限看在线观看免费| 你懂的国产精品| 日韩欧美一二三区| 九九干| 成人免费网站视频ww| 99久久精品国产高清一区二区| 亚洲精品永久一区| 国产一区二区精品久久| 成人免费网站视频ww| 精品久久久久久免费影院| 日韩专区亚洲综合久久| 国产综合成人观看在线| 九九久久99| 国产一区二区福利久久| 美国一区二区三区| 日韩av东京社区男人的天堂| 亚欧乱色一区二区三区| 毛片电影网| 高清一级做a爱过程不卡视频| 韩国三级视频网站| 国产一区二区精品久久| 亚欧视频在线| 亚欧乱色一区二区三区| 精品久久久久久中文字幕2017| 国产91丝袜在线播放0| 精品国产一区二区三区精东影业 | 韩国三级视频网站| 91麻豆高清国产在线播放| 青青青草影院| 欧美爱爱网| 天堂网中文字幕| 黄视频网站免费看| 午夜久久网| 成人a级高清视频在线观看| 久久99欧美| 欧美激情伊人| 精品久久久久久免费影院| 亚洲 国产精品 日韩| 亚洲第一色在线| 国产欧美精品午夜在线播放| 亚洲女初尝黑人巨高清在线观看| 欧美α片无限看在线观看免费| 天天做日日干| 欧美日本免费| 久久99欧美| 欧美日本免费| 可以免费在线看黄的网站| 四虎久久影院| 日韩专区在线播放| 国产精品自拍在线观看| 99色视频在线| 一级女性大黄生活片免费| 精品视频免费在线| 亚洲精品影院| 久久久久久久男人的天堂| a级精品九九九大片免费看| 黄视频网站免费观看| 高清一级做a爱过程不卡视频| 日韩免费在线| 九九精品在线| a级毛片免费观看网站| 99久久精品费精品国产一区二区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 一级毛片视频播放| 国产视频一区二区在线观看 | 亚欧成人乱码一区二区| 韩国三级视频在线观看| 国产麻豆精品免费视频| 国产成人精品影视| 毛片成人永久免费视频| 日韩免费在线| 免费一级生活片| 日本特黄特色aaa大片免费| 欧美α片无限看在线观看免费| 日本在线不卡免费视频一区| 国产91精品系列在线观看| 精品国产亚一区二区三区| 日韩av东京社区男人的天堂| 久草免费在线视频| 国产不卡在线观看视频| 国产综合91天堂亚洲国产| 韩国三级香港三级日本三级| 欧美另类videosbestsex久久| 精品视频免费观看| 久久精品欧美一区二区| 欧美激情影院| 99久久精品国产国产毛片| 欧美激情一区二区三区在线播放 | 精品久久久久久中文| 黄色福利片| 欧美一级视频免费| 999精品在线|