<small id='EwSQsf8'></small> <noframes id='57eHA'>

  • <tfoot id='tgjalDkOY'></tfoot>

      <legend id='SeqziL4QP'><style id='FIRGxoXLA'><dir id='S8EPhkwqt'><q id='Vm7HNntMbi'></q></dir></style></legend>
      <i id='jt6DLu7O'><tr id='7B3KC'><dt id='WIVE5KeQb0'><q id='QZtO4Bp'><span id='i6Z3sD'><b id='N5QbM'><form id='7m832'><ins id='hfUbHPXzi4'></ins><ul id='pBMGjR6xIc'></ul><sub id='x65Lh'></sub></form><legend id='A8V1'></legend><bdo id='sLRUEzj'><pre id='elyziO4Y7M'><center id='EmlLc3'></center></pre></bdo></b><th id='GQrbIw'></th></span></q></dt></tr></i><div id='9N8O'><tfoot id='iVHkg0CbF7'></tfoot><dl id='h90rGK2'><fieldset id='942Oh'></fieldset></dl></div>

          <bdo id='qZrJ4P'></bdo><ul id='d9GiUu2s'></ul>

          1. <li id='iWSYanxc'></li>
            登陆

            章鱼彩票电脑-Python 自动化带你轻松挣钱

            admin 2020-02-14 204人围观 ,发现0个评论

            最近,有一个朋友告诉我,她在某平台上购买了一部手机,收到货之后发现产品质量挺好的,价格也不贵。

            临了顺手给了个好评,商家最终还给她发一个 小红包,她把这个产品共享给了我。

            本篇文章的意图是运用 Python 自动化完结产品购买的操作。

            ps:本文仅限用于技术交流,请勿用于其他用处。

            2

            准 备 工 作

            在编写代码之前,需求做如下准备工作:

            1、装备好 Android ADB 开发环境

            2、Python 虚拟环境内装置 poco章鱼彩票电脑-Python 自动化带你轻松挣钱ui 依靠库

            3、操作剪切板的运用 APK,下载链接见文末

            3

            编 写 代 码


            咱们分 7 个过程来完结这个功用,分别是:翻开方针运用客户端、查找关键字到产品列表界面、裁剪原图拿到产品主图、产品匹配、产品保藏和阅读、购买产品、获取订单号和截图。

            1 步,运用 Airtest 自动化翻开方针运用。

            # 方针运用
            package_name = '运用包名'
            activity = 'Home Activity'
            def __pre(self):
            """
            准备工作
            :return:
            """
            # 删去缓存文件
            remove_cache('./part.jpg', './screenshot.png', './uidump.xml')
            home()
            stop_app(package_name)
            start_my_app(package_name, activity)


            翻开运用之后,就能够进行第 2 步操作了。

            经过预先得到的关键字,置入到输入框中,然后点击查找按钮,一向等候搜过列表呈现章鱼彩票电脑-Python 自动化带你轻松挣钱停止。

            需求留意的是,有些控件元素需求点击屡次才干算一次有用的点击事情。

            def __search_good_by_key(self):
            """
            经过关键字查找产品
            :return:
            """
            self.poco(id_page_main_button_search).wait(5).click()
            perform_view_input(self.poco, id_page_search_edittext_search, self.key)
            # 点击查找
            self.poco(id_page_search_button_search).wait_for_appearance()
            while self.poco(id_page_search_button_search).exists():
            print('点击一次查找')
            perform_view_id_click(self.poco, id_page_search_button_search)
            # 等候列表加载出来
            self.poco(id_page_goods_rv).wait_for_appearance()


            3 步,剪切原图,需求对原图中剩余的白色区域进行删去,只保存左边的产品主图。




            经过 遍历 x 轴、y 轴,拿到每一个像素的色彩值,假如是接连的白色就做一个标识,从而拿到主图的上、下、左、右坐标值,最终运用 cv2 库进行裁剪,得到产品主图

            def crop_main_img(img_path):
            """
            获取产品主图
            :return:
            """
            img = cv2.imread(img_path)
            # 图片大小(高、宽、the pixels value is made up of three primary colors)
            size = img.shape
            img_height = size[0]
            img_width = size[1]
            channels = size[2]
            # 1080*458
            print(f'图片宽度:{img_width},高度:{img_height}'
            # 标识数组,针对x轴和y轴
            arr_x = []
            arr_y = []
            # 遍历宽,得到主图的x轴坐标
            for x in range(img_width):
            is_black = True
            # 遍历高
            for y in range(img_height):
            # 获取色彩值
            color_position = img[y, x]
            if (color_position == color_white).all():
            pass
            else:
            is_black = False
            arr_x.append(is_black)
            # 遍历高,得到主图的y轴坐标
            for y in range(img_height):
            is_black = True
            # 遍历高
            for x in range(img_width):
            # 获取色彩值
            color_position = img[y, x]
            if (color_position == color_white).all():
            pass
            else:
            is_black = False
            arr_y.append(is_black)
            position_x = get_space_index(arr_x)
            position_y = get_space_index(arr_y)
            main_img_path = "./head_img.jpeg"
            # 剪切
            # 裁剪坐标为[y0:y1, x0:x1]
            cropped = img[position_y[0]:position_y[1], position_x[0]: position_x[1]]
            cv2.imwrite(main_img_path, cropped)
            return main_img_path


            4 步,产品匹配。

            拿到产品主图之后,运用 Airtest 在当时页面进行元素查找,假如没有找到,就滑到下一个元素;不然,就拿到匹配产品的坐标。

            def __search_good_from_list(self):
            """
            从列表中匹配产品
            :return:
            """
            # 循环的图片查找
            while True:
            try:
            pos = loop_find(Template(self.main_img_path), timeout=10, threshold=0.95)
            except TargetNotFoundError:
            print('滑动一页')
            self.__swipe(True)
            else:
            print('找到了')
            # 屏幕宽度和高度
            screen_size = self.poco.get_screen_size()
            print(screen_size)
            # 点击的坐标点(宽、高)
            # (0.22407407407407406, 0.8550925925925926)
            position_click = (pos[0] / screen_size[0], pos[1] / screen_size[1])
            print(position_click)
            self.poco.click(position_click)
            break


            5 步,产品保藏和阅读。

            跳转到产品信息界面之后,先保藏产品,然后跳转到产品概况页面和谈论页面。

            在预先设置的阅读时刻内,履行休眠、滑动操作。

            def __browser_good_detail(self):
            """
            阅读产品
            :return:
            """
            # 切换到概况Tab
            self.poco('com.**:id/taodetail_nav_bar_tab_text', text='概况').click()
            # 滑动时长为: self.browser_detail_time
            browser_start = datetime.datetime.now()
            browser_end = browser_start
            while (browser_end - browser_start).seconds < self.browser_detail_time:
            # 休眠一会
            time.sleep(random.randint(2, 5))
            # 滑动一次
            self.__swipe(True)
            # 结束时刻
            browser_end = datetime.datetime.now()
            print('本道概况页面检查结束')


            6 步,购买产品。

            产品的购买操作很简单,只需点击一个购买按钮即可完结;根据安全考虑,这儿选择收货地址、输入付出暗码手动输入。

            def __buy_good(self):
            """
            购买产品
            :return:
            """
            # 当即购买
            self.poco('**/detail_main_sys_button', text='当即购买').click()
            # 选择产品特点
            sleep(10)
            # 确认购买
            self.poco('**/confirm_text', text='确认').parent().click()
            # 提交订单
            self.poco(text='提交订单').click()
            # 手动输入暗码或许指纹
            sleep(10)


            7 步,获取订单 ID 及产品章鱼彩票电脑-Python 自动化带你轻松挣钱截图。




            经过 Monitor 调查发现,订单号文本元素很难经过特点章鱼彩票电脑-Python 自动化带你轻松挣钱或许子、父联系拿到。

            能够经过点击仿制按钮,将订单号粘贴到体系的剪切板,然后运用 adb + clipper 这款 App拿到剪切板中的内容。

            def __get_order_no(self):
            """
            获取订单编号
            :return:
            """
            global copy_element
            while True:
            # 因为手机屏幕的约束,【仿制】按钮第一页纷歧定能显示出来
            try:
            copy_element =章鱼彩票电脑-Python 自动化带你轻松挣钱 self.poco(text='仿制')
            except Exception as e:
            print('没有找到元素,往下滑动一页')
            self.__swipe(True)
            break
            # 仿制到剪切版别
            copy_element.click()
            # 从剪切板拿到数据
            result = exec_cmd('adb shell am broadcast -a clipper.get')[1]
            # 匹配出订单号
            result = re.findall(r'data="(.*)"', result)
            order_no = ''
            if result and len(result) > 0:
            order_no = result[0]
            print(order_no)
            return order_no

            接着运用 adb 指令截取当时屏幕,然后保存到 PC 端,即完结了悉数操作。

            def get_order_pic(self):
            """
            拿到订单截图界面
            :return:
            """
            screenshot_pic_result = './order_screenshot.png'
            # 截取手机当时屏幕
            exec_cmd('adb shell /system/bin/screencap -p /sdcard/screenshot.png')
            # 保存到PC端
            exec_cmd('adb pull /sdcard/screenshot.png %s' % screenshot_pic_result)
            return screenshot_pic_result

            4

            结 果 结 论


            经过以上的过程,即能够完结自动化选择产品、阅读、购买等一系列操作。

            需求弥补的是,因为手机分辨率的纷歧致,导致产品主图匹配会存在必定的差错;但因为主图宽、高比是共同的,能够经过缩放图片到达 适配 的意图。

            请关注微信公众号
            微信二维码
            不容错过
            Powered By Z-BlogPHP