(18)采集微信群成员信息-微信UI自动化(.Net+C#)

整理 | 小耕家的喵大仙

出品 | CSDN(ID:lichao19897314)

Q Q | 978124155

关联源码及工具下载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自动化

👆😀以上文章是以往使用自动化方案操作微信的一些案例!如有兴趣请点击浏览!

因为文章可能无法满足读者要求,如需源码和支持请联系本人 QQ 978124155 

本篇目标

   一位做物流的朋友联系我说想抓取某些微信群中群成员的信息做后续的业务拓展,我这边经过研究发现基于UI自动化的技术是可以完美实现的。

  需要实现连续抓取一个或者多个微信群中的群成员信息,并做相应的显示和存储功能。

软件效果

软件视频演示效果,有兴趣的可以观看下,更加直观清晰可能。

采集微信群群成员

通过下面微信某群的群成员列表截图和软件抓取的数据截图对比,发现获取的群成员数据和微信中一致无差别。

实现思路

(1)通过微信主面板搜索功能定位到某群的聊天界面。

(2)点击某群的聊天面板的聊天信息按钮,展开群的明细面板。

(3)寻找群的明细面板的查看更多按钮,如果存在则执行点击事件展开全部群成员。

(4)寻找群成员的listview的窗体互操作元素,遍历控件则能获取到全部信息。

技术细节

搜索指定群和联系人细节请参看(6)C#搜索指定微信通讯录联系人-微信UI自动化(.Net) 

点击聊天面板的聊天信息按钮

  private void ClickChatHistory()
  {
      var ele = UI_WX_Window.Current.Find("/Pane/Pane[1]/Pane/Pane/Pane/Pane[1]/Pane/Pane[3]/Pane[2]/Button");
      UI_WX_Window.Current.ClickElement(ele);
  }

寻找明细面板中的查看更多按钮

 private bool ClickMore()
 {
     var more = UI_WX_Window.Current.FindGroup("/Pane[2]/Pane/Pane/Pane/Button[1]");
     if (more != null && more.Name == "查看更多")
     {
       UI_WX_Window.Current.ClickElement(more);
 
         return true;

     }
     return false;
 }

寻找到群成员的listview控件元素,遍历控件则能获取到全部信息

      /// <summary>
      /// 开始采集
      /// </summary>
      public override void Start()
      {
          if (string.IsNullOrEmpty(GroupName))
          {
              throw new ArgumentNullException(nameof(GroupName));
          }

          State = Model.TaskState.Start; 
          base.Start();
          
              State = Model.TaskState.Runing;

              if (new UI_WX_SearchContract_Task().SearchContract(GroupName) == false)
                  return;

              ClickChatHistory();
              Thread.Sleep(600);

              var isMore = ClickMore();
              Thread.Sleep(600);
 
              string listPath = "";
           
              listPath = "/Pane[1]/Pane/Pane/Pane[2]/Pane/List";
            
              var mainPane = UI_WX_Window.Current.FindGroup(mainPanePath);//主Panel
              if (mainPane == null)
                  return;
 
                  var list = UI_WX_Window.Current.FindGroup(listPath);

                  foreach (var item in list.FindAllChildren())
                  { 
                      contacts.Add(item.Name);
                  }

                  DoCompleted();
   

      }

上一篇 (17)C#实现微信聊天文件接收及下载-微信UI自动化(.Net)icon-default.png?t=O83Ahttps://blog.csdn.net/lichao19897314/article/details/136691715

下一篇 (19)C#自动添加微信好友(可批量申请)--微信UI自动化(.Net)icon-default.png?t=O83Ahttps://blog.csdn.net/lichao19897314/article/details/136899889

因为文章可能无法满足读者要求,如需源码和支持请联系本人 QQ 978124155 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

QQ978124155

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

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

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

打赏作者

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

抵扣说明:

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

余额充值