|
- "auto";
- //设置无障碍模式 fast为启用缓存
- auto();
- //请求截屏权限 因为增加了这个权限请求 启动脚本必须在 autojs APP界面 否则会有问题,主要是连电脑调试要注意
- if(!images.requestScreenCapture()){
- toast("请求截图失败");
- exit();
- }
- function getMsg(){
- if(currentActivity() != 'com.tencent.mm.ui.LauncherUI'){
- //不在聊天Activity
- //先判断是否在微信中
- if(currentActivity().search('com.tencent.mm') == -1){
- //当前 APP 不是微信
- return false;
- //app.launch("com.tencent.mm");
- }
- //不在聊天Activity ,则有可能是文字详情界面 点击任意区域回到聊天界面(点状态栏区域比较保险)
- press(1, 1, 1);
- sleep(100); //这个时间根据手机的响应速度可能要稍微调整 ***这里可以根据情况调整***
- }
- if(!id('aab').exists() || !id('y').exists()){
- //没有找到输入框则表示当前界面不是聊天窗口
- return false;
- }
- var last_y = id('y').findOnce(id('y').find().size()-1);
- if(last_y.childCount() != 2){
- return false;
- }
- var ji = last_y.child(1).findOne(id('ji'));
- if(ji){
- return ['text', getText(ji)];
- }else {
- var aec = last_y.child(1).findOne(id('aec'));
- if(aec){
- var jh = last_y.child(1).findOne(id('jh'));
- var nickname;
- if(jh){
- nickname = jh.text();
- }else{
- nickname = last_y.child(0).findOne(id('jg')).contentDescription.replace('头像','');
- }
- return ['img', getImg(aec), nickname];
- }
- }
- return false;
- }
- function getText(uiObj){
- //微信的聊天文本不能直接获取到 这里模拟双击在文本详情界面获取内容
- //获取文字区域 模拟双击
- var last_ji_rect = uiObj.bounds();
- press(last_ji_rect.centerX(), last_ji_rect.centerY(), 1);
- sleep(40); //双击间隔时间 ***这里可以根据情况调整***
- press(last_ji_rect.centerX(), last_ji_rect.centerY(), 1);
- var afv = id('afv').findOne().text();
- press(last_ji_rect.centerX(), last_ji_rect.centerY(), 1);
- return afv;
- }
- function sendMsg(str){
- //设置输入框文本
- id('aab').setText(str);
- //获取标题栏区域并点击,解决发送按钮获取不到的问题
- var hj = id('hj').findOne().bounds();
- click(hj.centerX(), hj.centerY());
- //点击发送
- id('aah').click();
- }
复制代码 以前可以用这个方法获取,思路差不多,现在微信版本不太一样了。得自己改进。
|
|