环境搭建:Windows 7 64bit

  • jdk包:jdk-8u171-windows-x64.exe(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
  • 安卓sdk:adt-bundle-windows-x86_64-20140702(https://developer.oculus.com/documentation/mobilesdk/0.6/concepts/mobile-dev-setup-android-win/)
  • appium:1.4.13.1(https://bitbucket.org/appium/appium.app/downloads/)
  • node.js:node-v4.4.7-x64(https://nodejs.org/en/download/23)
  • Appium-Python-Client

1、安装好jdk,sdk,根据安装的位置设置环境变量,

jdk:

JAVA_HOME------C:\Program Files\Java\jdk1.8.0_171

PATH------;%JAVA_HOME%\bin\;%JAVA_HOME%\jre\bin\;

sdk:

解压adt-bundle-windows-x86_64-20140702.zip

ANDROID_HOME------C:\Users\dell\Downloads\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk

PATH------;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools\;

PATH------;%ANDROID_HOME%\build-tools\android-4.4W\;

测试

2、安装node.js

设置环境变量

PATH------C:\Program Files\nodejs\

测试

3、appium

appium是用.net开发的,所以需要安装.net framework4.5,下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=3065332

appium-doctor:appium安装好后,找到这个文件目录C:\Program Files (x86)\Appium\node_modules\.bin;设置环境变量

PATH------C:\Program Files (x86)\Appium\node_modules\.bin;

测试

4、Appium-Python-Client

pip install Appium-Python-Client

5、安装夜神模拟器

6、测试用程序打开夜神模拟器中的微信

下载微信安装包weixin667android1320.apk,安装到夜神浏览器中

aapt dump badging D:\weixin667android1320.apk

获取到appPackage和appActivity

adb devices

获取到deviceName

编写Python程序

#coding=utf-8
from appium import webdriver
desired_caps = {
'platformName':'Android',
'deviceName':'127.0.0.1:62001',
'platformVersion':'4.4.2',
'appPackage':'com.tencent.mm',
'appActivity':'com.tencent.mm.ui.LauncherUI'
} driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

启动appium,右上角点三角形按钮,变成正方形,就是启动状态。

运行Python程序,可以看到夜神模拟器多了两个应用

之后打开了微信

7、元素定位

将夜神的nox_adb.exe复制重命名替换掉sdk文件夹里的adb.exe

启动uiautomatorviewer.bat

单击Device Screenshot便可以定位元素,右上框显示元素的定位

注意,如果打开页面包含Appium Setting 和Unlock两个应用会报错

appium+夜神模拟器+python安卓app爬虫初体验的更多相关文章

  1. python学习之爬虫初体验

    作业来源: "https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2851" ** 1.简述爬虫原理 通用爬虫 即(搜索 ...

  2. Node.js 网页瘸腿爬虫初体验

    延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器 ...

  3. Python爬虫入门教程 41-100 Fiddler+夜神模拟器+雷电模拟器配置手机APP爬虫部分

    爬前叨叨 从40篇博客开始,我将逐步讲解一下手机APP的爬虫,关于这部分,我们尽量简化博客内容,在这部分中可能涉及到一些逆向,破解的内容,这部分尽量跳过,毕竟它涉及的东西有点复杂,并且偏离了爬虫体系太 ...

  4. python + 爬虫 + fiddler + 夜神模拟器 爬取app(1)

    抓包 抓包是爬虫里面经常用到的一个词,完整的应该叫做抓取数据请求响应包 ,而Fiddler这款工具就是干这个的 普通https抓包设置 打开Fiddler ------> Options .然后 ...

  5. appium——如何导出夜神模拟器下载“微信”app的apk

    背景:夜神模拟器是一款功能强大的安卓模拟器,但是当我们在上面下载APP应用后,通常不知道apk文件在哪里,下面以“微信”APP为例做一下详细介绍. 一般情况下,使用夜神安卓模拟器下载的文件只能在夜神安 ...

  6. 夜神模拟器调试web APP

    前言:之前工作之余的时间自己做了一个web APP,但是都是在浏览器上调试的,这次想看看在手机上啥效果,所以下载了一个夜神模拟器 一.下载夜神模拟器 https://www.yeshen.com/ 二 ...

  7. 【抓包分析】Charles和 夜神模拟器 对安卓应用进行抓包分析

    准备工具 : 1 Charles   : https://www.charlesproxy.com  (收费) 2 夜神模拟器  : https://www.yeshen.com  (免费) 2 模拟 ...

  8. 【Python3爬虫】爬取美女图新姿势--Redis分布式爬虫初体验

    一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...

  9. 【Python3爬虫】学习分布式爬虫第一步--Redis分布式爬虫初体验

    一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...

随机推荐

  1. CentOS7.5实践快速部署LAMP+Tomcat成功运行阿里云或者腾讯云

    安装一定要按照顺序来 1 先安装JDK+TOMCAT 点击看这里 2 在安装LAMP  点击看这里 3 最关键的就是这里 LAMP+Tomcat整合 我们不用源码编译安装,而是使用yum命令来完成. ...

  2. Struts2单文件上传原理及示例

    一.文件上传的原理 表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值: 1.application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里 ...

  3. 通过 phpmyadmin getshell

    通过 phpmyadmin  getshell general_log默认为关闭的,root权限开启后,general_log_file会保存所有的查询语句 可以开启general_log,然后设置g ...

  4. 03-自己封装DateUtil工具类

    package com.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.u ...

  5. Windows下通过pip安装PyTorch 0.4.0 import报错

    问题:通过pip安装PyTorch 0.4.0成功,但是import时报错. import torch  File "D:\Python\Python36\lib\site-packages ...

  6. Java中的transient关键字

    转载于:[lfsf802](http://blog.csdn.net/lfsf802/article/details/43239663) 关键字介绍 一个对象只要实现了Serilizable接口,这个 ...

  7. Problem B: 故障电灯(light)

    考虑对电灯进行差分:若第i个电灯和第i + 1个电灯状态不同,则在第i个位置上放一个球 这样我们就放置了不超过2n个球,且必然是偶数个 于是问题转化为:有m个球,每一步可以把一个球平移奇质数个位置,两 ...

  8. java.lang.OutOfMemoryError: PermGen space解决方法

  9. C 语言 判断

    if if (im < 0) { im = 60 + im; ih--; } 如果 (im < 0) 小于零,那么 做{ } 中内容 如果 (im < 0) 不小于零,那么 { }中 ...

  10. Docker笔记——jdk镜像制作

    openjdk镜像依赖如下: openjdk:8-jdk -> buildpack-deps:jessie-scm -> buildpack-deps:jessie-curl -> ...