| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Python Appium配置的一些坑和经验分享 -> 正文阅读 |
|
[移动开发]Python Appium配置的一些坑和经验分享 |
最近朋友跟我说可能要接一个 App爬虫的的单子,怀着兴奋激动(bu han chan)的心情,我打开CSDN搜索如何配置Python Appium的相关教程,踩了很多的坑,准备和大家一起分享一下。 准备篇首先我们需要配置Android SDK(iOS没试,因为没有设备),因为我这个人比较的喜欢IDE(lan),所以我直接选择下载一个Android Studio来安装我们的Android SDK。访问Android Studio官网来下载: ?下载好后打开Android Studio,找到settings --> system settings --> Android SDK ? ?按照上图配置好SDK保存路径以及安装的版本后,点击Apply按钮安装。 安装好我们的SDK后记得配置一下环境变量(因为Appium会自动读取环境变量以检验JDK和SDK-Tools的安装),因此我们需要创建如下变量: 配置好后打开PowerShell检查一下: ?确认好上述东西可以开始下载Appium驱动了,这里不建议使用1.20版本以上的Appium,因为如何你需要对XML(ui)进行即时的元素查看的话,你需要去独立的安装Appium Inspector(ui检查器),而这个东西是在1.20以下版本是被集成在原生Appium里的,无需单独下载。 Appium github下载链接:https://github.com/appium/appium-desktop/releases/latesthttps://github.com/appium/appium-desktop/releases/latest 下载好的Appium是安装C盘里的,这个是无法更改的。 打开后的驱动涨这个样子: ?一般情况下我们只使用精简模式就足够了,保留默认配置启动服务器。 启动后的Appium Log长这样: ?好了,到这里准备工作就完成了。 实战篇对安卓有点了解的小伙伴应该知道:Android的APP基本元素包含Activity和UI XML。那么,如果我去爬虫,我怎么去定位到我想要爬取的元素呢?这里就用到我们之前提到过的Appium Inspector了。 有主意发现上面Log Shell里的一个放大镜吗,那就是我们要用的UI检查器。 点开它,你能看到这样的画面: ?可是这样干启动会话是根本启动不了我们的UI检查器的,它会抛出这样的异常: 这是因为我们没有指定启动配置,那么我们该怎么配置我们的连接呢? 首先点击自动设定按钮,这时Appium会弹出这样的对话框: ?因为我们刚才在启动Appium服务的时候是以localhost来启动的,所以这里Appium自动识别到了。 当然这种情况下还不能启动会话,因为它又会抛出这样的异常: 这是因为你没有指定Appium以哪一种内核类型去连接设备,以及你没有指定设备的名称、动画以及自动化时发生异常时的指令超时等等配置项。 所以我在这里为大家列举了一份启动json:
将其复制到我们下面的JSON Representation里并保存: 可以看到Appium已经读取我们的配置项了,这个时候我们就可以启动我们的会话了。 ?在创建连接会话时,Appium会要求你安装如下的驱动组件: ? 一个是appium的uiautomator2的测试服务,一个是主服务,切记一定要安装,否则Appium是拿不到数据的。 安装好之后,UI检查器就是如下的样子: 这样我们就可以向Selenium一样来定位我们想要的元素对象了。 讲完了UI部分,我们也需要Activty来对我们的APP进行控制,那么,该怎么操作呢,没错这个时候就需要ADB(Android Debug Bridge)工具了 使用如下的指令可以获取到我们想要的APP锁对应的activity:
可以看到,这里就是我们想要的activity: ?好的,以上与代码相关的部分就介绍完了,接下来讲讲我在配置时遇到的坑。 踩坑篇1.”Session Not Created“,像这种错误有一种可能是因为你的手机并没有获取到权限,这个时候该怎么办呢? 首先在确保你的手机有开启开发者模式的情况下,以小米手机为例(本人小米CC9),打开开发者模式下的这些设置: ?打开这些设置后以防万一,我们最好重启一下再连接adb。 2."C:\Program Files\Java\jdk-17.0.1" is not xxx,is it installed ? ? ? ?这个问题的指向对象就很明显了,是指你的JAVA配置出现了问题,因此你需要检查你的JAVA_HOME是否配置正常。 3.切记不要在pip中安装uiautomator2和weditor!!!具体是因为什么我也不清楚是为什么,但是实话这么搞它就会报错,因此,千万别装!!! 4."远程主机关闭了访问"?不用看了,这是因为你Appium服务没启动或者掉了。 ---------------------------------------------------------------------------------------------------------------------------------好的,以上就是本次Appium配置分享的全部内容了,喜欢或者觉得有用记得给我点个赞,我是Deahost,下期见。 最后附上一个自动刷抖音的脚本送给大家,有需要的可以自行复制运行:
|
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:44:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |