环境搭建: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. 【Leecode】两数之和

    学习使用标准模板库(STL)中的map,hash_map.涉及数据结构知识:哈希表,红黑树. map的使用方法 https://www.cnblogs.com/fnlingnzb-learner/p/ ...

  2. python基础知识12---函数2

    阅读目录 一 引子 二 定义函数 三 调用函数 四 函数的参数 五 练习题 一 引子 1 为何要用函数之不用函数的问题 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码, ...

  3. MariaDB——(三) MariaDB 10.0.15 standard replication主从复制搭建

    最近看了一下MariaDB的常规复制章节,就按部就班的搭建了一下最简单的主从复制.需要的硬件环境很简单(在虚拟机VMware中搭建): 1:两台server:Master: 192.168.6.133 ...

  4. MariaDB——(二) MariaDB 10.0.15 日志文件—undo 日志

          日志的记录和维护是数据库中相当重要的内容,写这篇文章和后面几篇文章作为学习官网文档的笔记.MariaDB数据库日志可分为二进制日志.查询日志.错误日志.myISAM表日志.relay日志和 ...

  5. bzoj5104: Fib数列

    Description Fib数列为1,1,2,3,5,8... 求在Mod10^9+9的意义下,数字N在Fib数列中出现在哪个位置 无解输出-1 Input 一行,一个数字N,N < = 10 ...

  6. Python——Sublime Text3编写Python的一些问题

    1.回车键不能结束input()函数,如何解决? https://www.cnblogs.com/pcat/p/5499964.html  安装了该插件后,会遇到一些麻烦,这样运行Python程序很不 ...

  7. C++调用JS函数

    1 调用方法 https://blog.csdn.net/donglinshengan/article/details/29828103 https://blog.csdn.net/sunmz_wjx ...

  8. 支持向量机(SVM)原理阐述

    支持向量机(Support Vector Machine, SVM)是一种二分类模型.给定训练集D = {(x1,y1), (x2,y2), ..., (xm,ym)},分类学习的最基本的想法即是找到 ...

  9. Halcon 17与 c# 混合编程

    这篇主要是C#和Halcon的混合编程,在此基础上对按键不同功能的划分,以及图片适应窗口和从本地打开图片. halcon源程序:   dev_open_window(0, 0, 512, 512, ' ...

  10. 关于使用echarts走过的坑(同grid多图、多轴系列)

    相信大家在工作中,经常会用到echarts,今天我说下我在工作中浪费时间较长的坑 先来看看我的终极需要实现的图吧: 相信以上效果对于常用的小伙伴来说并不困难, 在此我只说option的配置,关于数据, ...