关于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中使用装饰器和元编程实现结构体类实例
Jan 28 Python
Python进程间通信Queue实例解析
Jan 25 Python
使用matplotlib画散点图的方法
May 25 Python
解决Django migrate No changes detected 不能创建表的问题
May 27 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
Python学习笔记之lambda表达式用法详解
Aug 08 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
Django返回HTML文件的实现方法
Sep 17 Python
关于python中导入文件到list的问题
Oct 31 Python
python3实现名片管理系统(控制台版)
Nov 29 Python
python爬虫 requests-html的使用
Nov 30 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
比file_get_contents稳定的curl_get_contents分享
2012/01/11 PHP
php 伪造ip以及url来路信息方法汇总
2014/11/25 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
vue 实现根据data中的属性值来设置不同的样式
2020/08/04 Javascript
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
详细介绍Ruby中的正则表达式
2015/04/10 Python
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
利用numpy+matplotlib绘图的基本操作教程
2017/05/03 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
Python对wav文件的重采样实例
2020/02/25 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
python推导式的使用方法实例
2021/02/28 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
EJB的激活机制
2013/10/25 面试题
驾驶员岗位职责
2014/01/29 职场文书
家长对学生的评语
2014/04/18 职场文书
网站推广策划方案
2014/06/04 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
考试保密承诺书
2014/08/30 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python
各种货币符号快捷输入
2022/02/17 杂记