美文网首页
微信朋友圈舔狗

微信朋友圈舔狗

作者: sexy_cyber | 来源:发表于2019-08-20 17:11 被阅读0次

    除了自己和广告不点赞,其他的通通点赞

    import uiautomator2 as u2
    import time
    import os
    
    
    class TianGou:
        """
        wechat greasiness dog
        """
    
        def __init__(self,deviceid):
            """
            初始化鏈接指定的设备
            :param deviceid: 设备 device  ID
            """
            while True:
                try:
                    self.d = u2.connect_usb(deviceid)
                    break
                except:
                    # 初始化uiautomator2 否则有可能连不上
                    os.system('python -m uiautomator2 init')
    
    
        def test1(self):
            """
            不给自己点赞
            :return:
            """
            # 定位框架
            frame = self.d(resourceId="com.tencent.mm:id/eu8", className="android.widget.LinearLayout", instance=1)
            # 拿到昵称
            text = frame.child(resourceId="com.tencent.mm:id/b9i").get_text()
            # 不给自己点赞
            # if text != 'change':
            frame.child(resourceId="com.tencent.mm:id/eop", description=u"评论", className="android.widget.ImageView").click_exists(timeout=1)
    
    
        def test2(self):
            """
            不给广告点赞
            :return:
            """
            # 定位框架
            frame = self.d(resourceId="com.tencent.mm:id/eu8", className="android.widget.LinearLayout", instance=1)
            # 广告
            status = frame.child(resourceId="com.tencent.mm:id/enc").exists(timeout=1)
            if status:
    
                text = frame.child(resourceId="com.tencent.mm:id/enc").get_text()
                print(text)
    
    
        def open_wechat(self):
            """
            打开微信朋友圈
            :return:
            """
            # start wechat
            self.d.app_start('com.tencent.mm')
            # select friends zone
            self.d(resourceId="com.tencent.mm:id/sh", className="android.widget.ImageView", instance=2).click()
            # open friends zone
            self.d(className="android.widget.LinearLayout", instance=7).click()
    
        def skip(self,frame):
            """
            跳过自己和广告
            """
            # 拿到昵称
            text = frame.child(resourceId="com.tencent.mm:id/b9i").get_text()
            status = frame.child(resourceId="com.tencent.mm:id/enc").exists(timeout=1)
            # 不给自己点赞
            if text == 'change':
                return True
            # 广告
            elif status:
                return True
            else:
                return False
    
        def swipe(self):
            """
            swipe + click stars
            """
            # 否则滑动失效
            time.sleep(1)
            self.d.swipe(500, 2000, 500, 1500)
            while True:
                # 如果不加等待,在滑动后元素无法识别
                time.sleep(1)
                for i in range(1,2):
                    try:
                        # 定位框架
                        frame = self.d(resourceId="com.tencent.mm:id/eu8", className="android.widget.LinearLayout",
                                       instance=i)
    
                        # 跳过不需要点赞的
                        if self.skip(frame):
                            print("Needn't click star")
                            continue
    
                        frame.child(resourceId="com.tencent.mm:id/eop", description=u"评论",
                                    className="android.widget.ImageView").click_exists(timeout=1)
                        # 是要识别未被点赞过得,否则就取消了
                        zan = self.d(resourceId="com.tencent.mm:id/eoc")
                        text = zan.get_text()
                        if text == '赞':
                            zan.click()
                            print('click star successfully')
                        else:
                            print('already star no click')
                            # raise Exception('已经点赞过了')
                    except:
                        break
                #当前可见的页无需要点赞的继续往下滑动
                time.sleep(1)
                # d(scrollable=True).scroll(steps=2)
                # 上滑
                self.d.swipe(500, 2000, 500, 1200)
                # 往下滑
                # d.swipe(500, 500, 500, 1500)
                # time.sleep(1)
                # d.swipe(500, 2000, 500, 1500)
    
        def run_spider(self):
            """
            微信朋友圈自动点赞,舔狗程序
            """
            self.open_wechat()
            self.swipe()
    
    
    if __name__ == '__main__':
        tiangou = TianGou('2244261a')
        tiangou.run_spider()
    

    相关文章

      网友评论

          本文标题:微信朋友圈舔狗

          本文链接:https://www.haomeiwen.com/subject/nvapsctx.html