手机自动化操作整理,总结。

前景:因为要抓很多App上的信息,而自己又比较菜。

   所以暂时只能通过操作手机自动化(Andriod)的方式,来抓包从而进行数据的采集。

环境:python3(因为使用的是mitmdump来进行的抓包), 手机使用的是小米手机。

手机自动化操作的相关流程:

  一:PC环境搭建。

    主要是SDK以及JDK的安装,Appium以及Python的Appium模块安装就很简单了。

    可以参考下边这篇博客,写的很清晰。https://blog.csdn.net/u013314786/article/details/83216390

  二:手机相关。

    手机要打开usb调试,在开发者选项里边。

  三:连接手机,运行某个app。

    直接粘代码好了。

class Action():
    def __init__(self):
        print ("初始化......")
        # 初始化配置,设置Desired Capabilities参数
        self.desired_caps = {
            # 设备系统
            'platformName': 'Android',
            # 设备名称
            # 'deviceName': '127.0.0.1:62001',
            'deviceName': 'Redmi Note 4x',
            # 安卓版本
            # 'platformVersion': '4.4.2',
            'platformVersion': '7.0',
            # apk包名、
            'appPackage': 'xxx',
            # 不重置app
            'noReset': 'True',
            # apk的launcherActivity
            'appActivity': 'xxx',
            # 绕过手机键盘操作,unicodeKeyboard是使用unicode编码方式发送字符串
            'unicodeKeyboard': True,
            # 绕过手机键盘操作,resetKeyboard是将键盘隐藏起来
            'resetKeyboard': True,
            "newCommandTimeout": "3600", # 修改默认超时的时间
            'udid': "xxx"  找个是手机的devicesid。在操作多个手机的时候需要指定
           
        }
        # 指定Appium Server
        self.server = 'http://127.0.0.1:4727/wd/hub'
        # 新建一个Session
        self.driver = webdriver.Remote(self.server, self.desired_caps)

  其中的appActivity 和 appPackage是启动app的必选项。查找方式网上有很多,https://www.cnblogs.com/silna/p/9353462.html这篇比较靠谱。当你做好以上的工作之后,就可以使用代码启动某个手机的app了,然后想做什么操作,如搜索点击之类的就可以通过编写代码来实现了。

  四:抓包

    使用mitmdump抓包的话,需要电脑开启一个wifi(360,猎豹都可以)。手机连接此wifi,然后查看本PC ip,并在手机上配置好代理以及端口就可以使用mitmdump进行抓包了。

猜你喜欢

转载自www.cnblogs.com/dg-blog/p/12565034.html