欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用60行代碼實現Python自動搶微信紅包

 更新時間:2021年02月04日 10:26:18   作者:python技術  
這篇文章主要介紹了用60行代碼實現Python自動搶微信紅包,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

春節(jié)來到,紅包們大概率在微信各大群中肆虐,大家是否都一樣不搶到紅包們心里就感覺錯過了一個億,可總會被這事那事耽誤而遺憾錯過,下面用 Python 寫一個自動搶紅包代碼

 

啟動入口

啟動程序的配置和公眾號文章《用 Python + Appium 的方式自動化清理微信僵尸好友》的配置一樣

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.support import expected_conditions as EC

desired_capabilities = {
    'platformName': 'Android', # 操作系統(tǒng)
    'deviceName': '2a254a02', # 設備 ID
    '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)
# 設置等待超時時間
wait = WebDriverWait(driver, 60)

點擊進入聊天窗口

微信在一般情況下最新的聊天記錄將被放在第一個,所以只需要打開第一個聊天窗口檢查有沒有紅包就可以了,用 id 為 com.tencent.mm:id/e3x 可以找到所有的聊天信息,我們取第一個聊天群的索引

# 進入第一個聊天框
red_packet_group = driver.find_elements_by_id('com.tencent.mm:id/e3x')[0]
red_packet_group.click()

找到紅包

進入聊天群后,紅包圖片檢查是否存在紅包,它的 id 為 com.tencent.mm:id/r2

 # 檢查紅包
reds = driver.find_elements_by_id('com.tencent.mm:id/r2')
if len(reds) == 0:
  driver.keyevent(4)

搶紅包

點擊紅包后會出現以下 3 種情況

  • 紅包已經被自己領取了
  • 紅包手慢了沒搶到
  • 紅包未領取

前兩種情況紅包已經失效了,最后一種才是可以打開的紅包

紅包已經失效了

在上面代碼中都是用 id 檢查元素是否存在,這里使用查找文字已存入零錢手慢了判斷紅包是否已經失效

# 判斷元素是否存在
def is_element_exist_by_xpath(driver, text):
    try:
        driver.find_element_by_xpath(text)
    except Exception as e:
        return False
    else:
        return True


# 領取了
is_open = is_element_exist_by_xpath(driver, '//android.widget.TextView[contains(@text, "已存入零錢")]')
# 沒搶到
is_grabbed = is_element_exist_by_xpath(driver, '//android.widget.TextView[contains(@text, "手慢了")]')

if is_open or is_grabbed:
    driver.keyevent(4)

打開紅包

打開紅包比較簡單,只需要找到  字的 id

wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/den"))).click()
wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/dm"))).click()

刪除紅包

最后我們將紅包刪除,防止紅包被重復打開。當長按紅包時,微信紅包會出現刪除按鈕

TouchAction(driver).long_press(red).perform()
wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/gam"))).click()
wait.until(EC.element_to_be_clickable((By.ID, "com.tencent.mm:id/doz"))).click()

總結

這是學習并使用 Appium 的第三篇文章,Appium 可以將手機操作自動化,大家學廢了嗎?

到此這篇關于用60行代碼實現Python自動搶微信紅包的文章就介紹到這了,更多相關Python自動搶微信紅包內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python利用matplotlib繪制圓環(huán)圖(環(huán)形圖)的實戰(zhàn)案例

    Python利用matplotlib繪制圓環(huán)圖(環(huán)形圖)的實戰(zhàn)案例

    環(huán)形圖也被稱為圓環(huán)圖,它在功能上與餅圖相同,只是中間有一個空白,并且能夠同時支持多個統(tǒng)計數據,下面這篇文章主要給大家介紹了關于Python利用matplotlib繪制圓環(huán)圖的實戰(zhàn)案例,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Python中np.where()的使用方式

    Python中np.where()的使用方式

    這篇文章主要介紹了Python中np.where()的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 使用Python制作一個簡易的遠控終端

    使用Python制作一個簡易的遠控終端

    這篇文章主要為大家詳細介紹了如何使用Python語言制作一個簡易的遠控終端,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的可以了解一下
    2023-04-04
  • windows下添加Python環(huán)境變量的方法匯總

    windows下添加Python環(huán)境變量的方法匯總

    默認情況下,在windows下安裝python之后,系統(tǒng)并不會自動添加相應的環(huán)境變量。此時不能在命令行直接使用python命令。今天我們就來看下,如何簡單快捷的在windows下添加Python環(huán)境變量
    2018-05-05
  • Python操作MongoDB的教程分享

    Python操作MongoDB的教程分享

    MongoDB?是一個流行的?NoSQL?數據庫,以其半結構化的文檔存儲方式而聞名,本文將帶大家逐步了解如何使用Python與MongoDB進行交互,從連接到基本操作,快跟隨小編一起學習一下吧
    2023-08-08
  • Python字符與ASCII碼相互轉換方法

    Python字符與ASCII碼相互轉換方法

    在做python編程時,碰到了需要將字母轉換成ascii碼的需求,所以下面這篇文章主要給大家介紹了關于Python字符與ASCII碼相互轉換的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • keras實現圖像預處理并生成一個generator的案例

    keras實現圖像預處理并生成一個generator的案例

    這篇文章主要介紹了keras實現圖像預處理并生成一個generator的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 解讀sqlalchemy的常用數據類型有哪些

    解讀sqlalchemy的常用數據類型有哪些

    這篇文章主要介紹了解讀sqlalchemy的常用數據類型有哪些,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Python封裝shell命令實例分析

    Python封裝shell命令實例分析

    這篇文章主要介紹了Python封裝shell命令,實例分析了Python將各種常用shell命令封裝進一個類中以便調用的方法,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • 在服務器上運行python文件詳細步驟

    在服務器上運行python文件詳細步驟

    很多小伙伴想知道如何在服務器上跑python程序的方法,那么這篇文章主要給大家介紹了關于在服務器上運行python文件的詳細步驟,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2024-02-02

最新評論