程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

app小程序手機端Python爬蟲實戰11實現自動化登錄考研幫app並滑動資訊信息

編輯:Python

作者:虛壞叔叔
博客:https://xuhss.com

早餐店不會開到晚上,想吃的人早就來了!

實現自動化登錄考研幫app並滑動資訊信息

一、最終的實現

二、清楚數據

首先需要清除軟件數據,這樣廣告才會出來

其他設置=》應用程序管理=》已安裝=》找到考研幫=》清除數據

三、設置模擬器的輸入法為uiautomator輸入法

為了能夠正確的將文本輸入進去 需要使用uiautomator2提供的輸入法

設置=》其他設置=》語言和輸入法->默認=》選擇FastInputIME

這樣輸入法的對話框就不會彈出來了。

四、整體流程

  1. 設備接通
  2. 啟動app
  3. 判斷是打開了登錄頁面
  4. 輸入用戶名密碼並點擊登錄
  5. 判斷是否進入app首頁,也就是當前頁面是否有“社區”按鈕,點擊社區按鈕,滑動社區頁面
  6. 當屏幕出現“沒有更多了”這個提示,就停止移動

五、完整代碼

代碼:

import uiautomator2 as u2
import time
import uiautomator2 as u2
class HandleKaoyanbang(object):
def __init__(self, serial="127.0.0.1:62001"):
# 當前是通過usb的方法來街道移動設備的
self.d = u2.connect_usb(serial=serial)
self.size = self.get_windowsize()
self.handle_watcher()
def handle_watcher(self):
"""定義一個監控器:會單獨啟動一個線程來監控有沒有符合要求的控件"""
# 用戶隱私協議
self.d.watcher.when('//*[@resource-id="com.tal.kaoyan:id/tip_commit"]').click()
# 廣告
self.d.watcher.when('//*[@resource-id="com.tal.kaoyan:id/tv_skip"]').click()
# 監控器寫好之後 通過start方法啟動
self.d.watcher.start()
def get_windowsize(self):
"""獲取手機屏幕的大小"""
return self.d.window_size()
def handle_kaoyanbang_app(self):
"""啟動考研幫app,並實現自動化操作"""
self.d.app_start(package_name="com.tal.kaoyan")
# 點擊密碼登錄
self.d(text="密碼登錄").click_exists(timeout=10)
# 輸入用戶名(文本控件-用set_text輸入文字)
self.d(resourceId="com.tal.kaoyan:id/login_email_edittext").set_text("12121212")
# 輸入password
self.d(resourceId="com.tal.kaoyan:id/login_password_edittext").set_text("1121212")
# 點擊登錄
self.d(resourceId="com.tal.kaoyan:id/login_login_btn").click()
# 等待頁面出現(在10秒內,如果這個頁面出現了,我們就進入下一步操作,
if (self.d.wait_activity("com.tal.kaoyan.ui.activity.HomeTabActivity", timeout=10)):
# 點擊社區
self.d(text="社區").click_exists(timeout=10)
# 獲取到屏幕的坐標
x1 = int(self.size[0] * 0.5)
y1 = int(self.size[1] * 0.9)
y2 = int(self.size[1] * 0.15)
while True:
self.d.swipe(x1, y1, x1, y2)
if __name__ == '__main__':
k = HandleKaoyanbang()
k.handle_kaoyanbang_app()

六、總結

  • 本文介紹了Uiautomator2自動化抓取工具。
  • 如果覺得文章對你有用處,記得 點贊收藏轉發 一波哦,博主也支持為鐵粉絲制作專屬動態壁紙哦~

往期優質文章分享

  • python3調用百度翻譯接口

  • 花 1 分鐘寫了一段爬蟲,幫實現微信搶號成功
  • C++讀取python腳本中的dictionary字典變量以及它的鍵值對

  • Qt中的套件提示no complier set in kit和no debugger,出現黃色感歎號問題解決(MSVC2017)

  • Python+selenium 自動化 - 實現自動導入、上傳外部文件(不彈出windows窗口)

優質教程分享

  • 如果感覺文章看完了不過瘾,可以來我的其他 專欄 看一下哦~
  • 比如以下幾個專欄:Python實戰微信訂餐小程序、Python量化交易實戰、C++ QT實戰類項目 和 算法學習專欄
  • 可以學習更多的關於C++/Python的相關內容哦!直接點擊下面顏色字體就可以跳轉啦!
學習路線指引(點擊解鎖)知識定位人群定位🧡 Python實戰微信訂餐小程序 🧡進階級本課程是python flask+微信小程序的完美結合,從項目搭建到騰訊雲部署上線,打造一個全棧訂餐系統。Python量化交易實戰入門級手把手帶你打造一個易擴展、更安全、效率更高的量化交易系統️ Python&C++混合編程️難度偏高分享學習Python C++混合編程知識!

資料白嫖,溫馨提示

關注下面卡片即刻獲取更多編程知識,包括各種語言學習資料,上千套PPT模板和各種游戲源碼素材等等資料。更多內容可自行查看哦!


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved