文章目錄
1. 環境配置
- JDK
- Android SDK
- Appium
- MuMu
1.1. JDK
1.1.1. 下載安裝
去華為雲鏡像下載JDK
,我下載的版本是:jdk-8u181-windows-x64.exe
1.1.2. 環境變量
1、環境變量->系統變量->新建:變量名JAVA_HOME
,變量值D:\Program Files\Java\jdk1.8.0_181
2、環境變量->系統變量->Path->編輯->編輯文本:在變量值末尾添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
1.2. Android SDK
安卓開發工具網:https://www.androiddevtools.cn/
1.2.1. 下載解壓
1、下載SDK Tools
,我下載的版本是android-sdk_r24.4.1-windows.zip
,把解壓出來的android-sdk-windows
文件夾放到D:\Program Files
目錄下。
2、下載SDK Platform-Tools
,我下載的版本是platform-tools_r22-windows.zip
,把解壓出來的platform-tools
文件夾放在D:\Program Files\android-sdk-windows
目錄下。
3、下載Build-Tools
,我下載的版本是21.1.2.rar
,解壓后將21.1.2
文件夾放到D:\Program Files\android-sdk-windows\build-tools
目錄下。
1.2.2. 環境變量
1、環境變量->系統變量->新建:變量名ANDROID_HOME
,變量值D:\Program Files\android-sdk-windows
2、環境變量->系統變量->Path->編輯->編輯文本:在變量值末尾添加%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\21.1.2;%ANDROID_HOME%\platform-tools;
1.3. Appium
1.3.1. 下載解壓
從上述github
地址下載Appium
,我下載的版本是Appium-windows-1.18.3.zip
,無需安裝,解壓即可。
1.3.2. 編輯配置
1、雙擊Appium.exe
運行軟件,點擊編輯配置
2、它這里已經把我們之前配置的JAVA_HOME
和ANDROID_HOME
自動補上了,我們就不用填了,如果沒有,請再填一下
1.3.3. 模塊安裝
pip install appium-python-client
1.4. MuMu
MuMu官網:http://mumu.163.com/
從官網下載並安裝網易MuMu模擬器(非手游助手)。安裝模擬器后,去應用中心下載並安裝微信,然后登錄。
2. 連接模擬器
打開cmd
控制台,輸入命令adb connect 127.0.0.1:7555
即可連接模擬器。
Microsoft Windows [版本 10.0.18363.1198]
(c) 2019 Microsoft Corporation。保留所有權利。
C:\Users\ghgxj>adb connect 127.0.0.1:7555
connected to 127.0.0.1:7555
3. 啟動服務器
1、點擊啟動
2、啟動成功
3、要一直保持Appium服務器運行,不能將它的窗口關閉
4. 啟動微信
獲取微信的appPackage和appActivity:
1、在mumu
中打開並登錄微信,然后cmd
中運行下方命令:
adb shell dumpsys activity recents | find "intent={"
2、找到cmp=com.tencent.mm/.ui.LauncherUI
3、/
前面的com.tencent.mm
就是appPackage
4、/
后面的.ui.LauncherUI
是appActivity
5、這兩個參數我們寫python
代碼的時候會用到
5. 連接測試
mumu中先關閉微信窗口,然后運行下方代碼的同時觀察mumu模擬器,如果微信啟動則說明連接成功。
from appium import webdriver
caps = {
"platformName": "Android",
"deviceName": "emulator-5554",
"platformVersion": "6.0.1",
"appPackage": "com.tencent.mm",
"appActivity": ".ui.LauncherUI",
"noReset": "True",
"unicodeKeyboard": "True",
"resetKeyboard": "True"
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
6. 微信編程
既然已經能通過python代碼連接微信了,下面我們來操作微信實現一個簡單的通過微信號添加好友的功能。
6.1. 具體流程
- 點擊⊕號
- 點擊添加朋友
- 點擊搜索框
- 輸入微信號
- 點擊搜索
- 點擊名片
- 點擊添加到通訊錄
- 點擊發送
6.2. 完整代碼
from appium import webdriver
import time
# 連接手機微信
caps = {
"platformName": "Android",
"deviceName": "emulator-5554",
"platformVersion": "6.0.1",
"appPackage": "com.tencent.mm",
"appActivity": ".ui.LauncherUI",
"noReset": "True",
"unicodeKeyboard": "True",
"resetKeyboard": "True"
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
# 發送好友申請
try:
time.sleep(10)
print('點擊⊕號')
driver.find_element_by_id('com.tencent.mm:id/ef9').click()
time.sleep(5)
print('點擊添加朋友')
driver.find_elements_by_id('com.tencent.mm:id/gam')[1].click()
time.sleep(5)
print('點擊搜索框')
driver.find_element_by_id('com.tencent.mm:id/f98').click()
time.sleep(5)
print('輸入微信號')
driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('wxhghgxj')
time.sleep(5)
print('點擊搜索')
driver.find_element_by_id('com.tencent.mm:id/f94').click()
time.sleep(5)
print('點擊名片')
driver.find_element_by_id('com.tencent.mm:id/az_').click()
time.sleep(5)
print('點擊添加到通訊錄')
driver.find_element_by_id('com.tencent.mm:id/g6f').click()
time.sleep(5)
print('點擊發送')
driver.find_element_by_id('com.tencent.mm:id/ch').click()
except Exception as e:
print(e)
6.3. 元素定位
從代碼中不難發現,問題的關鍵是元素定位,我們一般通過元素id
來定位,比如我們在微信中找一下⊕
。
1、點擊搜索
2、JSON Representation中輸入:
{
"platformName": "Android",
"deviceName": "emulator-5554",
"platformVersion": "6.0.1",
"appPackage": "com.tencent.mm",
"appActivity": ".ui.LauncherUI",
"noReset": "True",
"unicodeKeyboard": "True",
"resetKeyboard": "True"
}
3、點擊啟動會話
4、鼠標移動到⊕
,可以看到元素的id
是com.tencent.mm:id/ef9
5、然后再通過以下代碼即可實現元素的定位和點擊
driver.find_element_by_id('com.tencent.mm:id/ef9').click()
7. 引用參考
https://www.cnblogs.com/lexus168/p/12573025.html
https://mp.weixin.qq.com/s/cMdQKerwD-UIX5Xcnb_GIw
8. 溫馨提示
本文所有安裝包+代碼下載地址:
天翼雲盤 (力薦):點擊下載
堅果雲盤 (推薦):點擊下載
微軟雲盤 (推薦):點擊下載
百度網盤 (限速):點擊下載 (提取碼:s2fc )