Python + Appium自动化工具 + 安卓模拟器 + APP数据【网络爬虫-环境搭建】

删除回忆录丶 提交于 2020-08-12 08:07:35

JAVA:

  • 系统环境中必须有环境变量;
  • 环境变量的名字必须为:JAVA_HOME;
  • 再将其bin路径以及jre的bin路径添加到path环境;

注:不太熟悉环境变量设置的请自行百度或留言交流

Android SDK:

下载地址:

https://www.androiddevtools.cn/

下载并安装:

安装好之后会启动 Android SDK Manager:

https://www.jianshu.com/p/d25a95e3cc1e

参考上面的安装方式;我采用的在线安装,也挺快的,没有任何问题(只需要安装默认勾选的前两项加上自己Android对应的版本,我用的夜神模拟器是5.1.1);

安装完成之后,配置环境变量:

变量名不能更改(Appnium默认识别的名字):

在path下添加:

注:过程不太详细,可留言交流

安卓模拟器:

下载地址:

链接:https://pan.baidu.com/s/1nNQvipKnzw4St4K2kFlSrQ 
提取码:9te8

其他方式:

https://www.yeshen.com/

注:不太熟悉安装使用的请自行百度或留言交流

Appium:

下载地址:

链接:https://pan.baidu.com/s/11K8W_f4BRE4Ah_ootk1yMA 
提取码:5eor

安装打开页面:

直接启动无需更改,启动后的页面如下:

点击File中的New Session Window...稍等片刻页面如下:

下面需要配置Desired Capabilities, 记得另存一下,下次方便登陆:

{
  "automationName": "appium",
  "platformName": "Android",
  "platformVersion": "5.1.1",
  "deviceName": "127.0.0.1:52001 device",                                       # 52001为夜神模拟器的端口
  "appPackage": "com.vphone.launcher",
  "appActivity": ".Launcher",
  "autoAcceptAlerts": "true",
  "app": "C:\\Users\\sunzhiwen\\Desktop\\niwodai_re\\com.finace.market.apk"     # 结合自己想要抓取的APK包
}

如何获取appPackage和appActivity:参见https://www.jianshu.com/p/87ba984ebc3d

如何查询夜神模拟器的启动端口:参见https://www.jianshu.com/p/c21072fc158e

启动流程:

Android SDK:

E:\android_sdk\platform-tools(Android SDK的路径,结合自己的修改)下有adb.exe;

夜神模拟器:

E:\yeshen\Nox\bin(夜神的安装路径,结合自己的修改)下有adb.exe和nox_adb.exe;

注:两者要保持一致,可能版本不一致,建议将Android SDK的直接拷贝过来,改名为nox_adb.exe;而夜神下adb.exe不用修改。

连接模拟器:

目录行中直接输入cmd进入命令行模式:

模拟器启动之后:

启动Appium并进行连接:

注意每次重新启动夜神模拟器之后:appPackage和appActivity都会发生变化,所以要进行Desired Capilities修改;

修改成当前启动模拟器的最新状态之后,记得保存一下。然后Start Session,稍等片刻;

服务状态正在启动:

启动成功的状态:

然后就可以进行相应的自动化或者标签信息提取工作了;

注:启动Appium的过程,可能会有不同的错误,请耐心看报错信息,或留言沟通;

Python开发包:

pip install selenium

pip install Appium-Python-Client

连接示例:

from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait

DRIVER_SERVER = 'http://127.0.0.1:4723/wd/hub'

desired_caps = {
    "platformName": "Android",
    "platformVersion": "5.1.1",
    "deviceName": "127.0.0.1:52001",
    "appPackage": "com.vphone.launcher",
    "appActivity": ".Launcher",
    "app": "C:\\Users\\sunzhiwen\\Desktop\\niwodai_re\\com.finace.market.apk"
}
driver = webdriver.Remote(DRIVER_SERVER, desired_caps)
wait = WebDriverWait(driver, 300)

接下来就要自己好好学习类似selenium的Appium自动化工具的使用了,如有后续工作再进行总结相关代码开发经验。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!