需要注意的是,导入图片后需要再 发送一次刷新广播,相册中才能找到这些图片。
- # 更新手机相册
- exec_cmd('adb shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///%s' % phone_image_path)
第 4 步,同样是利用 Airtest 打开微信客户端,然后自动化跳转到朋友圈界面。
- def __open_friend_circle(self):
- """
- 打开朋友圈
- :return:
- """
- # 等待完全打开微信App
- self.poco(text='微信').wait_for_appearance()
- self.poco(text='通讯录').wait_for_appearance()
- self.poco(text='发现').wait_for_appearance()
- self.poco(text='我').wait_for_appearance()
-
- print('微信完全打开')
-
- # 点击【发现】Tab
- self.poco('com.tencent.mm:id/djv', text='发现').parent().click()
-
- # 打开朋友圈
- self.poco('android:id/title', text='朋友圈').click()
-
- # 等待朋友圈动态加载完全
- self.poco('com.tencent.mm:id/eyx').wait_for_appearance()
第5步,从手机相册内选择图片。

手机相册的照片是按时间进行排序的,根据上面推送的图片数目,选择相册的前面的 具体数目 的照片即可。
- # 选择指定数目的照片
- cbs = self.poco('com.tencent.mm:id/ek8').offspring('com.tencent.mm:id/bwn')
-
- index = 0
-
- # 选中固定数目的照片
- for cb in cbs:
- if index < self.image_num:
- cb.click()
- else:
- break
- index += 1
-
- # 确认选择图片
- self.poco('com.tencent.mm:id/lm').click()
第6步,输入文字内容,并选择具体的位置。

由于虚拟定位刷新的不及时,为了保证位置的准确性,连续进行两次定位。
- def __put_content_and_gps(self):
- """
- 输入内容和定位
- :return:
- """
- # 输入朋友圈内容
- self.poco('com.tencent.mm:id/d3k').set_text(self.msg)
-
- # 定位的次数,一般需要两次
- location_count = 0
-
- # 点击定位图标
- while True:
-
- self.poco('com.tencent.mm:id/d0a', text='所在位置').click()
-
- # 等待搜索列表中有结果出现
- self.poco('com.tencent.mm:id/du7').wait_for_appearance()
-
- if location_count == 0:
- # 返回
- keyevent('BACK')
- location_count += 1
- else:
- # 排除ListView的前两项(不显示、市区),直接点击第三项(具体位置)
- self.poco('com.tencent.mm:id/dul').children()[2].click()
第 7 步,拿到顶部的发布按钮,就可以 一键发布动态了。 (编辑:晋中站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|