(6)搜索特定微信通讯录联系人-微信UI自动化(.Net+C#)

整理 | 小耕家的喵大仙

出品 | CSDN(ID:lichao19897314)

关联源码及工具下载icon-default.png?t=O83Ahttps://download.csdn.net/download/lichao19897314/90096681
 往期知识回顾: 

(1)C#开启探索微信自动化之路-微信UI自动化

(2)C#创建微信窗体自动化实例-微信UI自动化

(3)C#针对系统热键管理-微信UI自动化

(4)C#采集微信通讯录和联系人-微信UI自动化

(5)C#实现针对微信窗体鼠标静默点击-微信UI自动化

(6)C#搜索微信通讯录联系人-微信UI自动化

(7)C#实现微信消息群发-微信UI自动化

(8)C#监控微信进程运行状态-微信UI自动化

(9)C#监控微信网络连接状态-微信UI自动化

(11)C#实现微信窗体尺寸跟随调整-微信UI自动化

(12)C#采集微信聊天记录及历史消息-微信UI自动化

(13)C#实现自动回复微信消息-微信UI自动化

(14)C#针对微信界面元素截图操作-微信UI自动化

(15)C#实现对微信窗体的行为管控-微信UI自动化

(16)C#实现微信多开-微信UI自动化

(17)C#实现微信聊天文件接收及下载-微信UI自动化

👆 以上文章是以往对使用自动化技术操作微信的一些文章及案例!!!!

本篇目的

    我们在发送消息给某个联系人之前,我们要进行的工作就是先找到某个联系人,在微信UI自动化的过程中我们如何搜索指定联系人呢?

既然是UI自动化,那么我们这里肯定是利用微信程序的搜索功能来实现联系人的查找。先上图看效果👇

效果展示

 搜索联系人效果

技术细节

(1)查找微信搜索文本框控件元素

     我们通过窗体控件对象树寻找到搜索文本框的窗体路径为/Pane[2]/Pane[2]/Pane[1]/Pane/Pane/Edit,通过下方代码找到搜索框元素

  if(Search==null)
                Search = UI_WX_Window.Current.Find("/Pane[2]/Pane[2]/Pane[1]/Pane/Pane/Edit");

(2)向搜索框输入指定的联系人信息

    我们在静态点击搜索框让搜索框获取焦点后,清空输入框并复制粘贴指定的文本内容到搜索框中,接下来微信会自己搜索到指定的联系人。

   private void SetText(string text, AutomationElement ele)
        {
             //静态点击元素
             UI_WX_Window.Current.ClickElement(ele);
             //清空输入框
             UI_WX_Window.Current.ClearInput();
             //向截切版设置内容
             WXUIAuto.Currnet.SetClipBoard(text);
             //将截切版内容粘贴到搜索框
             UI_WX_Window.Current.Paste();
        }

(3)点击搜索到的联系人元素

  微信程序执行搜索后会出现一个结果列表,那么我们就遍历搜索列表,如果有结果等于我们要搜索的联系人那么我发送一个点击到搜索列表中的第一个列表项。

  private AutomationElement SearchContact(string name)
        {
//因为搜索需要时间,我们重复寻找15次,如果没有那么就确定没有该联系人在列表中
            for (int i = 0; i < 15; i++)
            {
//寻找联系人搜索列表中的列表项
                var currentConract = UI_WX_Window.Current.Find("/Pane[2]/Pane[2]/Pane[2]/Pane[2]/List/ListItem[1]");

                if (currentConract != null
                    &&
                    currentConract.Name == (name))
                { 
                    return currentConract;
                }
                Thread.Sleep(100);
            }
            return null;
        }

如果执行SearchContact方法找到了元素后,我们直接调用   UI_WX_Window.Current.ClickElement(element)方法点击搜索到的元素,那么微信会自动将窗体定位到与搜索到的联系人的聊天界面!

 上一篇(5)C#实现微信窗体元素静默点击-微信UI自动化(.Net)icon-default.png?t=O83Ahttps://blog.csdn.net/lichao19897314/article/details/122961362

  下一篇 (7)C#群发微信消息给指定联系人-微信UI自动化(.Net)icon-default.png?t=O83Ahttps://blog.csdn.net/lichao19897314/article/details/129762864

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ978124155

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值