关于Python3爬虫利器Appium的安装步骤


Posted in Python onJuly 29, 2020

Appium是移动端的自动化测试工具,类似于前面所说的Selenium,利用它可以驱动Android、iOS等设备完成自动化测试,比如模拟点击、滑动、输入等操作,其官方网站为:http://appium.io/。本节中,我们就来了解一下Appium的安装方式。

1. 相关链接

GitHub:https://github.com/appium/appium

官方网站:http://appium.io

官方文档:http://appium.io/introduction.html

下载链接:https://github.com/appium/appium-desktop/releases

Python Client:https://github.com/appium/python-client

2. 安装Appium

首先,需要安装Appium。Appium负责驱动移动端来完成一系列操作,对于iOS设备来说,它使用苹果的UIAutomation来实现驱动;对于Android来说,它使用UIAutomator和Selendroid来实现驱动。

同时Appium也相当于一个服务器,我们可以向它发送一些操作指令,它会根据不同的指令对移动设备进行驱动,以完成不同的动作。

安装Appium有两种方式,一种是直接下载安装包Appium Desktop来安装,另一种是通过Node.js来安装,下面我们介绍一下这两种安装方式。

Appium Desktop

Appium Desktop支持全平台的安装,我们直接从GitHub的Releases里面安装即可,链接为https://github.com/appium/appium-desktop/releases。目前的最新版本是1.1,下载页面如图1-71所示。

关于Python3爬虫利器Appium的安装步骤

图1-71 下载页面

Windows平台可以下载exe安装包appium-desktop-Setup-1.1.0.exe,Mac平台可以下载dmg安装包如appium-desktop-1.1.0.dmg,Linux平台可以选择下载源码,但是更推荐用Node.js安装方式。

安装完成后运行,看到的页面如图1-72所示。

关于Python3爬虫利器Appium的安装步骤

图1-72 运行页面

如果出现此页面,则证明安装成功。

Node.js

首先需要安装Node.js,具体的安装方式可以参见https://3water.com/article/140361.htm,安装完成之后就可以使用npm命令了。

接下来,使用npm命令全局安装Appium即可:

npm install -g appium

此时等待命令执行完成即可,这样就成功安装了Appium。

3. Android开发环境配置

如果我们要使用Android设备做App抓取的话,还需要下载和配置Android SDK,这里推荐直接安装Android Studio,其下载地址为https://developer.android.com/studio/index.html?hl=zh-cn。下载后直接安装即可。

然后,我们还需要下载Android SDK。直接打开首选项里面的Android SDK设置页面,勾选要安装的SDK版本,点击OK按钮即可下载和安装勾选的SDK版本,如图1-73所示。

关于Python3爬虫利器Appium的安装步骤

图1-73 Android SDK设置页面

另外,还需要配置一下环境变量,添加ANDROID_HOME为Android SDK所在路径,然后再添加SDK文件夹下的tools和platform-tools文件夹到PATH中。

更详细的配置可以参考Android Studio的官方文档:https://developer.android.com/studio/intro/index.html。

4. iOS开发环境

首先需要声明的是,Appium是一个做自动化测试的工具,用它来测试我们自己开发的App是完全没问题的,因为它携带的是开发证书(Development Certificate)。但如果我们想拿iOS设备来做数据爬取的话,那又是另外一回事了。一般情况下,我们做数据爬取都是使用现有的App,在iOS上一般都是通过App Store下载的,它携带的是分发证书(Distribution Certificate),而携带这种证书的应用都是禁止被测试的,所以只有获取ipa安装包再重新签名之后才可以被Appium测试,具体的方法这里不再展开阐述。

这里推荐直接使用Android来进行测试。如果你可以完成上述重签名操作,那么可以参考如下内容配置iOS开发环境。

Appium驱动iOS设备必须要在Mac下进行,Windows和Linux平台是无法完成的,所以下面介绍一下Mac平台的相关配置。

Mac平台需要的配置如下:

·macOS 10.12及更高版本

·XCode 8及更高版本

配置满足要求之后,执行如下命令即可配置开发依赖的一些库和工具:

xcode-select --install

这样iOS部分的开发环境就配置完成了,我们就可以用iOS模拟器来进行测试和数据抓取了。

如果想要用真机进行测试和数据抓取,还需要额外配置其他环境,具体可以参考https://github.com/appium/appium/blob/master/docs/en/appium-setup/real-devices-ios.md。

到此这篇关于关于Python3爬虫利器Appium的安装步骤的文章就介绍到这了,更多相关Python3爬虫Appium安装内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现从URL地址提取文件名的方法
May 15 Python
python通过socket查询whois的方法
Jul 18 Python
Python基础中所出现的异常报错总结
Nov 19 Python
win与linux系统中python requests 安装
Dec 04 Python
python实现俄罗斯方块游戏
Mar 25 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
python查看模块安装位置的方法
Oct 16 Python
python中PS 图像调整算法原理之亮度调整
Jun 28 Python
python opencv 实现对图像边缘扩充
Jan 19 Python
Python类和实例的属性机制原理详解
Mar 21 Python
python将dict中的unicode打印成中文实例
May 11 Python
Python+OpenCV实现在图像上绘制矩形
Mar 21 Python
Python3爬虫mitmproxy的安装步骤
Jul 29 #Python
Python使用jpype模块调用jar包过程解析
Jul 29 #Python
Python 防止死锁的方法
Jul 29 #Python
Python定义一个Actor任务
Jul 29 #Python
Python如何重新加载模块
Jul 29 #Python
Python加速程序运行的方法
Jul 29 #Python
如何在python中判断变量的类型
Jul 29 #Python
You might like
PHP添加Xdebug扩展的方法
2014/02/12 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
javascript 打印页面代码
2009/03/24 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
你必须知道的Javascript知识点之"单线程事件驱动"的使用
2013/04/23 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python爬虫番外篇之Cookie和Session详解
2017/12/27 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
澳大利亚相机之家:Camera House
2017/11/30 全球购物
资深地理教师自我评价
2013/09/21 职场文书
电台编导求职信
2014/05/06 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python
Python数据类型最全知识总结
2021/05/31 Python
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS