项目场景
微信小程序自动化,通过右上角菜单转发小程序/分享小程序页面
问题描述
在做微信小程序自动化时,涉及通过右上角更多菜单转发小程序,从而进行分享的场景,但是使用minium的native.forward_miniprogram()会报错 at.core.exceptions.UiNotFoundError: Ui Object Not Found
self.page.get_element('.common-secondary-button-style').click() # 点击快速试算
self.page.wait_for(2)
self.native.forward_miniprogram('文件传输助手', '自动化分享测试')
原因分析
目前还不知道具体原因,所以我采用了另外一种方式去达到目的
解决方案
使用native.click_coordinate()方法,通过坐标点点击右上角菜单位置
native.click_coordinate(x=940, y=140)
1、确定点击位置的坐标点
(1)在手机设置中打开开发者模式,然后进入开发者选项中,打开“显示触摸操作”、“指针位置”开关,这样你点击屏幕上的某个位置后,屏幕上方会显示点击位置的x、y值,我的小程序中,右上角菜单的坐标点为(940, 140),转发给朋友的坐标点为(140, 1700)
(2)第1种方式不够灵活,而且无法适用于不同机型(不同大小屏幕的机型可能x、y坐标点不一样),问了开发,右上角菜单位置其实是根据屏幕大小计算的,我大概计算了下,菜单的x坐标大概是屏幕宽度的4/5,y坐标是屏幕高度的1/16,转发给朋友的x坐标是屏幕宽度的1/10,y坐标是屏幕宽度的1/7,所以可以先获取到屏幕的宽高,然后计算,这样就灵活多了ÿ