关于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获取GY-85九轴模块信息示例
Dec 05 Python
用Python从零实现贝叶斯分类器的机器学习的教程
Mar 31 Python
Python中装饰器学习总结
Feb 10 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
python将一组数分成每3个一组的实例
Nov 14 Python
celery4+django2定时任务的实现代码
Dec 23 Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
Matplotlib scatter绘制散点图的方法实现
Jan 02 Python
解决python3插入mysql时内容带有引号的问题
Mar 02 Python
Django用户认证系统如何实现自定义
Nov 12 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 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+mysql分页代码详解
2008/03/27 PHP
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
详解vuex状态管理模式
2018/11/01 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
vue+element 模态框表格形式的可编辑表单实现
2019/06/07 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
Vue实现手机计算器
2020/08/17 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
2020/05/22 Python
社区党员先进事迹
2014/01/22 职场文书
师德模范事迹材料
2014/06/03 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS