Ejemplo n.º 1
0
def extract_msg_layout(layout):
    sender, msg = None, None
    for elem in layout.children:
        if elem.getId() == 'id/chat_item_nick_name':
            sender = vc_view_text(elem)[:-1]
        elif elem.getId() == 'id/chat_item_content_layout':
            msg = vc_view_text(elem)
    return sender, msg
Ejemplo n.º 2
0
 def extract_group_info(self):
     #调用这个函数时,需要已经位于群信息界面
     xlist = self.get_vc_view_by_id('id/common_xlistview', 3)
     if not xlist:
         logger.error("提取群信息失败,已重试!")
         return None, None
     nameAndId = xlist.children[0].children[2].children[0].children[1]
     name = vc_view_text(nameAndId.children[0])
     groupId = vc_view_text(nameAndId.children[1].children[0])
     return name, groupId
Ejemplo n.º 3
0
    def enter_group_by_search(self, gid):
        self.touch_button('GROUP_SEARCH')
        time.sleep(0.5)
        self.device.type(gid)
        time.sleep(0.5)
        search_result = self.get_vc_view_by_id('id/tv_name', 3)

        if not search_result:  # 没有搜索到,点击取消
            logger.error("搜索结果查找id/tv_name失败,可能需要取消搜索")
            self.cancel_search()
            return False
        # 搜索到结果了,验证一下id对不对,结果示例: 北航人在点评(71771261)
        _text = vc_view_text(search_result)
        logger.debug('群搜索结果: %s', to_str(_text))
        _id = self.split_group_id(_text)
        if not _id:
            logger.error("搜索结果[%s]解析群号失败", to_str(_text))
            self.cancel_search()
            return False
        if not str_equal(_id, gid):
            logger.error("搜索结果的群号[%s]和需要进的群号[%s]不一致",
                         to_str(_id), to_str(gid))
            self.cancel_search()
            return False

        #都对了,进群吧
        if not self.switch_by_pixel("GROUP_LIST", "GROUP_CHAT",
                                    *BUTTON_LOCATION["SEARCH_RESULT"]):
            logger.error("点击搜索结果进群失败!!!!")
            self.cancel_search()
            return False
        return True
Ejemplo n.º 4
0
 def get_member_id(self):
     content = self.get_vc_view_by_id('id/content')
     tmpqqid = ''
     try:
         _view = content.children[0].children[0].\
             children[1].children[2].children[1]
         tmpqqid = vc_view_text(_view)
     except:
         return ''
     qqid = tmpqqid.split(' ')[0]
     print "Info : get the member id %s !" % qqid
     self.goto('GROUP_MEMBER')
     return qqid
Ejemplo n.º 5
0
    def get_qq_name_id(self):
        if not self.goto('PROFILE_CARD'):
            return None, None
        qq_id = self.get_vc_view_text_by_id('id/info')
        qq_id = re.sub(r'\D', '', qq_id.strip())

        qq_name_view = self.get_vc_view_by_id('id/common_xlistview')\
            .children[0].children[0].children[0].children[0]\
            .children[5].children[2].children[0]
        qq_name = vc_view_text(qq_name_view)

        if not self.goto('CONTACTS'):
            return None, None
        self.qq, self.nickname = int(qq_id), to_str(qq_name)
        return self.qq, self.nickname