加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

Python 带你来一次说走就走的环球旅行

发布时间:2019-10-09 12:24:31 所属栏目:移动互联 来源:星安果
导读:1.目标场景 十一长假,相信大部分的朋友这会应该是在全国各地浪或者是在浪的路上,朋友圈成为你们表演的场所。 当然,也有一小戳朋友是选择家里蹲,你们是否感觉到无聊?是否想出去浪,参加朋友圈摄影比赛? 本篇文章的目的是利用 Python 带我们实现一次 说

需要注意的是,导入图片后需要再 发送一次刷新广播,相册中才能找到这些图片。

  1. # 更新手机相册 
  2. exec_cmd('adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///%s' % phone_image_path) 

第 4 步,同样是利用 Airtest 打开微信客户端,然后自动化跳转到朋友圈界面。

  1. def __open_friend_circle(self): 
  2.     """ 
  3.     打开朋友圈 
  4.     :return: 
  5.     """ 
  6.     # 等待完全打开微信App 
  7.     self.poco(text='微信').wait_for_appearance() 
  8.     self.poco(text='通讯录').wait_for_appearance() 
  9.     self.poco(text='发现').wait_for_appearance() 
  10.     self.poco(text='我').wait_for_appearance() 
  11.  
  12.     print('微信完全打开') 
  13.  
  14.     # 点击【发现】Tab 
  15.     self.poco('com.tencent.mm:id/djv', text='发现').parent().click() 
  16.  
  17.     # 打开朋友圈 
  18.     self.poco('android:id/title', text='朋友圈').click() 
  19.  
  20.     # 等待朋友圈动态加载完全 
  21.     self.poco('com.tencent.mm:id/eyx').wait_for_appearance() 

第5步,从手机相册内选择图片。

Python 带你来一次说走就走的环球旅行

手机相册的照片是按时间进行排序的,根据上面推送的图片数目,选择相册的前面的 具体数目 的照片即可。

  1. # 选择指定数目的照片 
  2. cbs = self.poco('com.tencent.mm:id/ek8').offspring('com.tencent.mm:id/bwn') 
  3.  
  4. index = 0 
  5.  
  6. # 选中固定数目的照片 
  7. for cb in cbs: 
  8.     if index < self.image_num: 
  9.         cb.click() 
  10.     else: 
  11.         break 
  12.     index += 1 
  13.  
  14. # 确认选择图片 
  15. self.poco('com.tencent.mm:id/lm').click() 

第6步,输入文字内容,并选择具体的位置。

Python 带你来一次说走就走的环球旅行

由于虚拟定位刷新的不及时,为了保证位置的准确性,连续进行两次定位。

  1. def __put_content_and_gps(self): 
  2.   """ 
  3.   输入内容和定位 
  4.   :return: 
  5.   """ 
  6.   # 输入朋友圈内容 
  7.   self.poco('com.tencent.mm:id/d3k').set_text(self.msg) 
  8.  
  9.   # 定位的次数,一般需要两次 
  10.   location_count = 0 
  11.  
  12.   # 点击定位图标 
  13.   while True: 
  14.  
  15.       self.poco('com.tencent.mm:id/d0a', text='所在位置').click() 
  16.  
  17.       # 等待搜索列表中有结果出现 
  18.       self.poco('com.tencent.mm:id/du7').wait_for_appearance() 
  19.  
  20.       if location_count == 0: 
  21.            # 返回 
  22.            keyevent('BACK') 
  23.            location_count += 1 
  24.       else: 
  25.            # 排除ListView的前两项(不显示、市区),直接点击第三项(具体位置) 
  26.            self.poco('com.tencent.mm:id/dul').children()[2].click() 

第 7 步,拿到顶部的发布按钮,就可以 一键发布动态了。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读