<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          強大!用 60 行代碼自動搶微信紅包

          共 2354字,需瀏覽 5分鐘

           ·

          2021-01-30 23:07


          春節(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?可以找到所有的聊天信息,我們?nèi)〉谝粋€聊天群的索引

          #?進入第一個聊天框
          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)

          搶紅包

          點擊紅包后會出現(xiàn)以下 3 種情況

          1. 紅包已經(jīng)被自己領取了
          2. 紅包手慢了沒搶到
          3. 紅包未領取

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

          紅包已經(jīng)失效了

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

          #?判斷元素是否存在
          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()

          刪除紅包

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

          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 可以將手機操作自動化,大家學廢了嗎?


          end


          瀏覽 89
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月丁香激情四射 | 国产永久免费 | 成人免费无码麻豆精品 | 日本黄色操逼视频 | 狠狠躁夜夜躁 |