首頁>科技>

你有沒有想過讓你的手機幫你自動完成某些事情

比如自動幫你搶紅包

有些軟體不是有簽到活動麼

這些傻瓜式的操作

能不能讓手機自動簽到呢?

自動幫你叫外賣

自動幫你打電話

等等

還有

對於手機上的一些比較難以通過抓包獲取的資料

想不想像 selenium 那樣輕鬆獲取?

之前小帥b就給大家介紹了 selenium

可以模擬人類自動操作瀏覽器上的網頁

我們還使用它爬取了

“雞你太美”

相信你已經體驗到 selenium 的魅力了

對於一些複雜的 PC 端的網頁爬取

它就是個利器

不過

對於手機上的一些稍微複雜點的 APP 資料

selenium 就顯得有點無能為力了

那麼

有沒有像 selenium 這樣的框架

可以模擬人類自動操作手機上的 APP 呢

答案是肯定的

那就是

Appium

如何讓它來自動操作我們的手機呢

那麼

接下來就是

學習 python 的正確姿勢

為什麼說 Appium 牛逼呢

說 4 點足以

1、他是開源的手機端自動測試框架

2、selenium可以做的 Appium 都可以做,selenium不可以做的Appium 依然可以做,它能夠支援 Android、iOS、windows 系統的原生 APP 進行自動操作

3、它可以支援不同的語言寫指令碼,比如我們的 Python,還有Java、JavaScript 等

4、以前你想要爬取 App 的資料的時,對於較難抓取的資料,你還需要對 App 進行反編譯,很麻煩,但是 Appium 就不需要這麼麻煩

那 Appium 是怎麼玩的呢

你可以把 Appium 當做是一個伺服器

我們將我們寫的控制操作 APP 的 python 程式碼

扔給 Appium

Appium 得到了請求,看到你跟它說要怎麼去操作 APP

它就乖乖的聽你話去操作 APP 了

我們在使用 Appium 之前

我們需要安裝相關的環境才可以使用

由於 Android 開源又好用,又有虛擬機器可以玩

所以我們要的就是自動操作 Android 手機

具體來說

我們需要安裝以下環境

真香警告

Appium 雖然比 selenium 對環境的要求相對複雜一丟,但是相信我,搞定之後你絕對會體驗到 Appium 的魅力,接下來要說的內容相對乾貨,你需要拿出點時間,然後跟著 小帥b 一步一步裝起來,如果你之前沒接觸相關的環境安裝,可能在安裝過程中你會說幾次髒話,沒關係,"挖槽","TMD" 完之後,都給我安裝好以下內容。

1、node.js 和 npm

Appium需要

2、JDK

java 環境,Android需要這個環境

3、Android SDK

Android強大的開發工具包

4、Android虛擬機器

可選,如果你用你的真雞也可以的,用 usb 插入電腦就行

5、Appium

我們的主角

6、Appium-Python-Client

python客戶端,用來連線 Appium

7、Python

python相信你早已經安裝了,還沒有安裝的是豬吧?

那麼接下來

小帥b教你一步一步地安裝起來

不同的作業系統安裝方式可能有些許不同

但都差不多也就那會事

1、安裝node和npm

你可以到以下連結去下載 node 安裝包

/file/2020/08/19/20200819000140_1611.jpg

然後一頓安裝

windows安裝的時候記得勾選 Add to path (新增到環境變數)

如果你和小帥b一樣用 ubuntu 這種類 Unix 系統的話輸個命令就行

sudo apt-get updatesudo apt-get install nodejs

然後你輸入命令 node -v

如果顯示版本號就說明你成功安裝 node 了

xiaoshuaib@xiaoshuaib:~$ node -vv10.15.3

安裝 node 過程中同時也安裝了 npm 了

輸入 npm -v 有顯示版本好的話說明你安裝好了 npm

xiaoshuaib@xiaoshuaib:~$ npm -v6.4.1

2、安裝JDK

你可以到以下連結去下載 jdk

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

根據你的系統自行選擇相應的 jdk

安裝完成之後記得配置好 Java 環境變數

如何配置 jdk 環境變數就不在這裡說了

因為不同的系統配置方式不同

你可以自行 Google

在你的終端輸入 javac ,如果你得到如下的東西說明你成功安裝好 jdk 和 配置好環境了

xiaoshuaib@xiaoshuaib:~$ javacUsage: javac <options> <source files>where possible options include: -g  Generate all debugging info  -g:none                    Generate no debugging info  -g:{lines,vars,source}     Generate only some debugging info -nowarn  Generate no warnings -verbose  Output messages about what the compiler is doing -deprecation Output source locations where deprecated APIs are used -classpath <path> Specify where to find user class files and annotation processors -cp <path>  Specify where to find user class files and annotation processors -sourcepath <path> Specify where to find input source files -bootclasspath <path> Override location of bootstrap class files -extdirs <dirs> Override location of installed extensions -endorseddirs <dirs> Override location of endorsed standards path  -proc:{none,only}          Control whether annotation processing and/or compilation is done....

3、安裝Android SDK

有些小夥伴可能之前沒開發過 Android

不過沒關係

Android SDK 是 Android 開發的工具包

下載方式和 JDK 類似

可以到以下連結去下載 sdk

https://developer.android.com/studio#downloads

如果你打不開這個連結的話

可以用映象連結

http://www.android-studio.org/index.php/download/hisversion

下載完之後就一頓解壓

解壓完之後開啟 sdkmanager

windows的話有介面

直接選擇一個 Android 版本

或者你也可以像 Linux 一樣

解壓完之後

進入目錄中的 /tools/bin

輸入以下命令安裝最新的工具

xiaoshuaib@xiaoshuaib:~/android/tools/bin$ ./sdkmanager "platform-tools" "platforms;android-28"

接著配置一下環境變數

ubuntu 的話可以這樣配

開啟 profile

 sudo vim /etc/profile

新增你安裝的sdk的目錄

export ANDROID_HOME=/home/xiaoshuaib/androidexport PATH=$PATH:${ANDROID_HOME}/toolsexport PATH=$PATH:${ANDROID_HOME}/platform-tools

然後設定生效後重啟一下

source /etc/profile

windows配置環境變數的話

也是這個道理

在你的電腦--屬性--高階--環境變數

新建一個變數 ANDROID_HOME

值就是你剛剛解壓下來的 Android 目錄

然後在你的 path 中新增

${ANDROID_HOME}/tools;${ANDROID_HOME}/platform-tools

接著

在命令列輸入 adb shell

如果你出現和小帥b以下這樣的就說明你配置對了

xiaoshuaib@xiaoshuaib:~$ adb shell* daemon not running; starting now at tcp:5037* daemon started successfully

4、安裝 android 虛擬機器

其實你有真雞的話不用安裝也可以

安裝虛擬機器你可以到以下連結下載

https://www.genymotion.com/download

想當年小帥b在玩 Android 開發的時候就經常用 genymotion

速度相對來說快了不少

開啟虛擬雞或者用你的真雞連線電腦(記得開啟usb除錯)

然後輸入 adb devices

如果你像小帥b一樣列出你現在的 Android 手機

xiaoshuaib@xiaoshuaib:~$ adb devicesList of devices attached88CKBM622PAM  device

那麼就說明是正確的啦

5、安裝 Appium

第一種安裝方式

使用命令列用 npm 安裝 Appium

npm install -g appium

ubuntu需要許可權的話可以使用如下命令

sudo npm install -g appium --unsafe-perm=true --allow-root

第二種安裝方式

你也可以到以下連結直接下載安裝包

https://github.com/appium/appium-desktop/releases

安裝完之後輸入命令 appium

如果你和小帥b這樣的就說明成功安裝 Appium了

xiaoshuaib@xiaoshuaib:~$ appium[Appium] Welcome to Appium v1.12.1[Appium] Appium REST http interface listener started on 0.0.0.0:4723

6、Appium-Python-Client

pip install Appium-Python-Client

OK

那麼到現在我們就把該裝的裝完了

酸爽~

我們可以來安裝以下 appium-doctor 來檢測一下我們安裝的環境是否都可以了

npm install -g appium-doctor

安裝完之後輸入 appium-doctor

如果你也出現這樣的

congratulation

你已經搞定所需環境啦

事不宜遲

趕緊整個小例子試試水先

確保手機連線到電腦

xiaoshuaib@xiaoshuaib:~$ adb devicesList of devices attached88CKBM622PAM device

開啟 Appium

xiaoshuaib@xiaoshuaib:~$ appium[Appium] Welcome to Appium v1.12.1[Appium] Appium REST http interface listener started on 0.0.0.0:4723

寫個python

# coding=utf-8from appium import webdriverdesired_caps = { 'platformName': 'Android', 'deviceName': '88CKBM622PAM', 'platformVersion': '5.1', 'appPackage': 'com.tencent.mm',  'appActivity': 'com.tencent.mm.ui.LauncherUI' }driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

執行python之後

Appium 開始執行

看看你的手機

自動打開了!

cool~

ok

本篇主要讓你知道怎麼安裝這些所需要的環境

可能你現在有點疑問

python程式碼如何寫自動操作的

別急

你先把環境安裝好

下一篇

小帥b將帶你使用 Appium 來爬取 APP 上的資料

期待就好了

帥b老仙

法力無邊

給小帥b發點功

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 未來3-5年,實體店不想被淘汰,必須做好這3步:多渠道獲客