爬前准备工作

在开始安装Appium之前,你要先知道Appium是做什么的?Appium 是一个自动化测试开源工具,看到没,做测试用的,它有点类似Selenium,可以自动操作APP实现一系列的操作。

标记重点,可以使用python对Appium编写脚本,实现对App的抓取。

今天就给你写一个100%叫你可以运行起来的入门实例。

下载地址

用稳定的最新版本即可。

https://github.com/appium/appium-desktop/releases/tag/v1.10.0

下载之后,双击exe安装即可



出现如下界面,表示安装成功,先不要进行其他的操作,点击下面的 Edit Configurations



注意,在弹出的窗口中,需要配置的ANDROID_HOMEJAVA_HOME 这两个路径都需要安装Android Studio才可以配置好。接下来就去下载安装它吧。

Android Studio的下载、安装与配置

这个是开发Android应用的IDE软件,比较大,安装过程中可能容易出现问题,多百度,多搜狗,多谷歌,多BIng。

在这之前,我建议你先把JAVA的SDK安装上。

下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安装的目标是实现在CMD窗口,输入java,出现如下效果,记住,你如果没有实现这个步骤,尽量不要往下操作。

百度关键字为:JAVA环境的安装,最难的地方是需要你配置JAVA_HOME环境变量

下载地址:http://www.android-studio.org/index.php 下载安装,没啥好说的,遇到错误,解决就好了,出现如下界面表示安装成功,记住,这个页面不要动,你还有操作要完成。





打开页面之后,4.0以后的所有SDK都勾选上吧,好了,这样子配置的就差不多了。

尝试连接夜神模拟器

重要步骤来了哦~我们要使用Appium操作夜神模拟器里面的APP。

这个地方,你需要确定一下夜神模拟器的adb 和 Android_Studio的adb版本是否一致!

默认环境下,使用 adb version 即可查看到Android SDK的版本为 1.0.40

C:\Users\你的用户名>adb version
Android Debug Bridge version 1.0.40
Version 4986621
Installed as C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools\adb.exe

进入夜神模拟器安装路径 ,输入adb version 查看到版本也是1.0.40 注意下面的路径已经改变了

D:\Program Files\Nox\bin
λ adb version
Android Debug Bridge version 1.0.40
Version 4986621
Installed as D:\Program Files\Nox\bin\adb.exe

如果两个版本不一致,你需要进行如下的修改

一般出现的错误如下

adb server version(31) doesn’t match this client (36);killing…

解决办法:

  • a、关掉夜神模拟器。同时去任务管理器里看下,adb.exe以及nox_adb.exe这2个进程有没有在运行?有的话就结束掉。
  • b、找到SDK的目录和夜神模拟器的目录,将SDK目录(C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools)下的adb.exe文件,复制到夜神模拟器的目录(D:\Program Files\Nox\bin\)下,将夜神模拟器目录下原本的adb.exe和nox_adb.exe修改文件名为adb_bak.exe和nox_adb_bak.exe,将从SDK目录复制过来的adb.exe放在夜神目录下,同时复制一份改名为nox_adb.exe。

配置上述内容完毕之后,就可以开始测试了。

启动夜神模拟器设备

打开CMD,进入命令窗口,进入到夜神模拟器根目录。

下面的命令在运行之后,请确保夜神模拟器软件出于**关闭**状态

D:\Program Files\Nox\bin
λ nox_adb.exe connect 127.0.0.1:62001
already connected to 127.0.0.1:62001

出现 already connected to 127.0.0.1:62001

这个地方扩展一下

各模拟器adb连接端口

模拟器名称 端口号
夜神安卓模拟器 62001
雷电安卓模拟器 5555
网易MuMu(安卓模拟器) 7555
逍遥安卓模拟器 21503
BlueStacks(蓝叠安卓模拟器) 5555
天天安卓模拟器 5037
安卓模拟器大师 54001
Genymotion 5555

可以打开夜神模拟器了

命令行输入下面的命令,查看是否有设备连接

D:\Program Files\Nox\bin
λ adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
127.0.0.1:62001 device

启动Appium

到现在为止,一些关键的配置都进行完毕了,你需要打开Appium了



点击右上角的查找,出现配置页面



我们需要配置如下内容,appPackageappActivity 获取方式参照图片之后

{
"platformName": "Android", # 声明是ios还是Android系统
"platformVersion":"4.4.2", # Android内核版本号,可以在夜神模拟器设置中查看
"deviceName": "OPPO R11", # 这个地方我们可以写 127.0.0.1:62001
"appPackage": "com.taobao.taobao", # apk的包名
"appActivity": "com.taobao.tao.welcome.Welcome" # apk的launcherActivity
}

获取apk包名和launcherActivity

将下载好的APK包,放置到夜神模拟器根目录

 aapt dump badging 51job.apk

得到我们的两个参数,完美~



配置Appium

按照上述参数配置完毕之后,我们就可以进行一些基本操作了。



点击start session 可以看到夜神模拟器已经完美的运行起来了,哈哈哈

最后提醒

  1. 你需要熟悉android的一些环境变量的配置
  2. 有可能你安装java的环境会失败,百度一下文章很多的,解决方案也很多的
  3. 下载android SDK的时候,卡住了,一般是网络原因
  4. 夜神模拟器启动不了,注意查看adb version的相关配置
  5. 夜神模拟器卡死,重新模拟器就好了

Python爬虫入门教程 49-100 Appium安装+操作51JOB_APP(模拟手机操作之一)手机APP爬虫的更多相关文章

  1. Python爬虫入门教程 1-100 CentOS环境安装

    简介 你好,当你打开这个文档的时候,我知道,你想要的是什么! Python爬虫,如何快速的学会Python爬虫,是你最期待的事情,可是这个事情应该没有想象中的那么容易,况且你的编程底子还不一定好,这套 ...

  2. Python爬虫入门教程 44-100 Charles的安装与使用-手机APP爬虫部分

    1. 第二款抓包工具Charles安装与使用 Charles和Fiddler一样,也是一款抓包工具,比Fiddler界面更加清晰,支持多平台 1.1 官方网址 https://www.charlesp ...

  3. Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分

    1. Python爬虫入门教程 爬取背景 2019年1月10日深夜,打开了百思不得姐APP,想了一下是否可以爬呢?不自觉的安装到了夜神模拟器里面.这个APP还是比较有名和有意思的. 下面是百思不得姐的 ...

  4. Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分

    1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...

  5. Python爬虫入门教程 37-100 云沃客项目外包网数据爬虫 scrapy

    爬前叨叨 2019年开始了,今年计划写一整年的博客呢~,第一篇博客写一下 一个外包网站的爬虫,万一你从这个外包网站弄点外快呢,呵呵哒 数据分析 官方网址为 https://www.clouderwor ...

  6. Python爬虫入门教程 36-100 酷安网全站应用爬虫 scrapy

    爬前叨叨 2018年就要结束了,还有4天,就要开始写2019年的教程了,没啥感动的,一年就这么过去了,今天要爬取一个网站叫做酷安,是一个应用商店,大家可以尝试从手机APP爬取,不过爬取APP的博客,我 ...

  7. 2019-03-22 Python Scrapy 入门教程 笔记

    Python Scrapy 入门教程 入门教程笔记: # 创建mySpider scrapy startproject mySpider # 创建itcast.py cd C:\Users\theDa ...

  8. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

  9. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  10. 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1

    孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...

随机推荐

  1. CentOS 7.2 关闭防火墙

    CentOS7 的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样 1.关闭防火墙: systemctl stop f ...

  2. 大话RabbitMQ 基础入门

    ----------写在前面---------- 近些年微服务越来越火,让我也忍不住想去一窥微服务究竟,讲到微服务,就离不开分布式,而分布式,也离不开消息队列,在消息队列中,RabbitMQ可以说是比 ...

  3. go语言nsq源码解读二 nsqlookupd、nsqd与nsqadmin

    nsqlookupd: 官方文档解释见:http://bitly.github.io/nsq/components/nsqlookupd.html 用官方话来讲是:nsqlookupd管理拓扑信息,客 ...

  4. BZOJ_1345_[Baltic2007]序列问题Sequence_单调栈

    BZOJ_1345_[Baltic2007]序列问题Sequence_单调栈 Description 对于一个给定的序列a1,…,an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai ...

  5. 再谈ERP选型

    这几天收到老友的消息,谈及他们公司ERP选型的结果,基本上确定了使用Oracle EBS,因此闹了接近一年的选SAP还是选Oracle的纷争落下帷幕. 这家企业我去年曾去交流过,跟他们聊了一下ERP行 ...

  6. 安卓开发笔记(二十六):Splash实现首页快速开屏功能

    我们在进行安卓开发的时候,首页开有两种方式,一种是利用handler将一个活动进行延时,时间到达之后软件则会跳转到第二个活动当中.而另一种方法则是更加常用的方法,利用splash实现首页的快速开屏,这 ...

  7. 国际知名CSS Reset 总结

    NO.01   CSS Tools: Reset CSS 网站:https://meyerweb.com/eric/tools/css/reset/ 优点:老牌,用的人多. /* http://mey ...

  8. 用Python学分析 - 正态分布

    正态分布(Normal Distribution) 1.正态分布是一种连续分布,其函数可以在实线上的任何地方取值. 2.正态分布由两个参数描述:分布的平均值μ和方差σ2 . 3.正态分布的取值可以从负 ...

  9. vs中开发web站点使IIS Express支持局域网连接

    vs中开发web站点使IIS Express支持局域网连接 在开发webapi的时候,客户端设备都会使用局域网的地址访问webapi,有时候需要调试api.这个时候就需要使用一些技巧了,这里我记录了我 ...

  10. Windows中使用Mysql-Proxy实现Mysql读写分离

    1.简介 读写分离:当业务量上来时,往往一台单机的mysql数据库不能满足性能需求,这时候就需要配置主从库读写分离来解决性能瓶颈.简单的来说,就是原先一台数据库既读又写,现在改成一台写和1台以上读. ...