利用按键精灵实现点击微信公众号

通过图片找要操作的位置(加偏移量,屏幕范围可以用变量调整)

每扫过一行记得刷新一些变化的坐标信息  (记得坐标变化)

滚轮可以通过颜色的变化确定是否到底

如果直接确定不了要点击的图标(可以通过相对位置,找其附近的参照物)

为了防止要找的图片 被滑动没 ,多用静态的图标 (以静制动)

多次循环运行全局变量----不清零

图片要独一无二的

Dim status
SCREEN_WIDTH = 2000
SCREEN_HEIGHT = 1500
URL = "这个地址是要请求自己数据抓取系统接口的"
ADDRESS="E:\Program Files (x86)\Tencent\WeChat\WeChat.exe"
Do
    //MessageBox status
    Delay 1500
    Dim MyArray
    Enter =0
    status=1
    value=0
    increment_Y=0
    increment_X = 0
    If  status =1 Then
        //自动化脚本
        FindPic 0,0,SCREEN_WIDTH,SCREEN_HEIGHT,"Attachment:\公众号准确.bmp",0.9,intX,intY
        If intX > 0 And intY > 0 Then
            MoveTo intX+20, intY+20
            LeftClick 1
            Delay 500
        End If
        color_value = ""
        Do
            If Enter = 0 Then
                Enter = 1
            Else
                Delay 180
            End If
            //Yes = 是否请求完成(URL)
            //TracePrint Yes
            If 0 <= increment_X <= 264 Then
                //MessageBox "小鱼5的过来"
                FindPic 0,0,SCREEN_WIDTH,SCREEN_HEIGHT,"Attachment:\首个位置定点.bmp",0.9,x,y
                If x > 0 And y > 0 Then
                    SayString ""
                    //MessageBox x &" "& y
                    MoveTo x + 80 + increment_X, y + 100 + increment_Y
                    LeftClick 1
                    Delay 500
                    FindPic 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, "Attachment:\历史--.bmp", 0.9, intX, intY
                    TracePrint intX & "   " & intY
                    SayString ""
                    If intX > 0 And intY > 0 Then
                        SayString ""

                        MoveTo intX - 190, intY - 250
                        MoveTo intX - 190, intY - 130
                        MoveTo intX - 30, intY - 250
                        MoveTo intX - 30, intY - 130
                        MoveTo intX + 10, intY + 10
                        LeftClick 1
                        Delay 500
                        FindPic 0,0,SCREEN_WIDTH,SCREEN_HEIGHT,"Attachment:\关闭参照物.bmp",0.9,intX,intY
                        If intX > 0 And intY > 0 Then
                            SayString ""
                            Delay 500
                            MoveTo intX+20, intY-25
                            LeftClick 1
                            Delay 500
                            increment_X = increment_X + 66
                        End If
                    Else
                        range = 结束一轮(x, y)
                        Delay 500
                        Exit Do
                    End If
                End If
            ElseIf increment_X>264 Then
                increment_X = 0
                increment_Y=increment_Y+104
                Delay 500
                value = value + 5
                If value = 25 Then
                    MoveTo x + 80 + increment_X - 50, y + 100 + increment_Y - 104
                    判断滚动条 (ADDRESS)
                    Delay 500
                End If
                //MessageBox a
                If color_value = "EFEFEF" and value=25 Then
                    For 6
                        MouseWheel - 1
                        Delay 1000
                    Next
                    value = 0
                    increment_Y = 0
                ElseIf color_value = "CDCDCD" Then
                    If value= 25 Then
                        range = 结束一轮(x, y)
                        Exit Do
                    End If
                End If
            End If
        Loop
    End If
Loop
Function 判断滚动条(ADDRESS)
    Call RunApp(ADDRESS)
    Delay 1500
    //下面这句是得到当前最前面的窗口句柄
    M = Plugin.Window.Foreground()
    //下面这句是得到窗口句柄的类名
    Class1 = Plugin.Window.GetClass(M)
    Delay 200
    TracePrint "得到窗口句柄的类名为:"& Class1
    //0表示忽略
    //下面这句是查找窗口类名("Notepad")或者标题(0),返回找到的句柄Hwnd
    Hwnd = Plugin.Window.Find(Class1,0)
    //下面这句是得到窗口句柄的边框大小(包括标题栏)
    sRect = Plugin.Window.GetWindowRect(Hwnd)
    Delay 200
    TracePrint "得到窗口句柄的边框大小(包括标题栏)为:"& sRect
    //下面这句用于分割字符串,将横坐标和纵坐标分成两个字符串
    MyArray = Split(sRect, "|")
    //下面这句将字符串转换成数值
    W1 = Clng(MyArray(0)): H1 = Clng(MyArray(1))
    W2 = Clng(MyArray(2)): H2 = Clng(MyArray(3))
    TracePrint "边框大小:     " & W2 & "       " & H2
    //GetCursorPos x,y
    color_value = GetPixelColor(W2 - 7, H2 - 7)
    Delay 500
    TracePrint color_value
End Function
Function 结束一轮(x,y)
    MoveTo x - 100, y + 100
    Delay 500
    LeftClick 1
    Delay 3600000
    status = 0
End Function
Function 取网页源码(URL)
    Set objXML=CreateObject("Microsoft.XMLHTTP")
    objXML.Open "Get", URL, False
    objXML.setRestatusuestHeader "If-Modified-Since","0"
    objXML.send
    If objXML.readyState=4 then
        取网页源码 =objXML.ResponseText
    End If
    objXML.Abort
    Set objXML = Nothing
End Function
Function 是否请求完成(URL)
    Do
        Delay 3000
        Condition = 取网页源码(URL)
        TracePrint Condition
        If Condition = "0" Then
            Goto 结束
        Else
            Delay  6000
        End If
    Loop
    Rem 结束

  完了觉得这篇文章对你有用你可以看下 按键精灵制作微信机器人脚本 这篇博文,相信对你也有用哈!

原文地址:https://www.cnblogs.com/xkrj5/p/12505810.html

时间: 2024-08-29 16:45:26

利用按键精灵实现点击微信公众号的相关文章

利用curl函数处理GET数据获取微信公众号的access_token

<?php//处理GET数据 $appid="wx0cf1ae434525b3bc";//填写AppID $secret="530d5915c163cce3073062e281a8b21c";//填写Secret $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}&quo

利用H5开发微信公众号

一. 首先授权配置 公众号设置 -->功能设置 设置业务域名!  这里的MP_verify_w7tdZrafqhkK9Mcj.txt文件,需要放到你项目的根目录下,例子:你的项目war包叫 test.war ,里面包含了src,WEB-INFO两个文件夹,则把MP_verify_w7tdZrafqhkK9Mcj.txt放到这两个文件夹的同级目录下;即现在test.war下有两个文件夹一个txt文件:src,WEB-INFO,MP_verify_w7tdZrafqhkK9Mcj.txt. 后面就需

微信公众号菜单openid 点击菜单即可打开并登录微站

现在大部分微站都通过用户的微信openid来实现自动登录.在我之前的开发中,用户通过点击一个菜单,公众号返回一个图文,用户点击这个图文才可以自动登录微站.但是如果你拥有高级接口,就可以实现点击菜单,打开网页就能获取这个openid,实现自动登录. 这里已经提到,必须要拥有高级接口的权限(服务号.企业号),开启了开发者模式. 1.设置回调地址 在微信公众平台后台“开发者中心”中找到“高级接口”下的“OAuth2.0网页授权”,后面有一个“修改”,点击之后就会弹出填写回调地址的对话框.具体如何授权,

利用OpenShift托管Node.js Web服务进行微信公众号开发

最近写了一个微信的翻译机器人.用户只要关注该微信号,发送英文的消息,就能收到中文翻译的回复.后台是用Node.js写的,托管在OpenShift的Paas平台上.翻译过程实际上是调用微软的Bing translation API做的,代码中用到了alexu84的bing-translate和JacksonTian的wechat这两个npm模块.下面把做的过程详细说一下. 1. 微信公众号开发 首先是要到https://mp.weixin.qq.com 申请一个公众号,并申请成为开发者.目前个人只

利用nat123解决微信公众号对接服务器必须为80端口的问题

背景:最近公司接到做一个微信公众号的项目,需要我们提前做一个demo,好做项目的整体评估:我们公司本身有个云服务器,但没有备案,所以80端口还被电信屏蔽着,就想到利用nat123做80端口的映射:(外网80端口访问服务器上非80端口的应用) 前提:存在对接微信服务器的服务,云服务器本地访问地址为:http://localhost:8080/wxtest/WechatServlet 目标:外网通过80端口访问上述地址: 一:下载nat123 1:地址:http://www.nat123.com/P

利用微信公众号实现zabbix告警

之前觉得没必要写这个,这两天有同学问到zabbix关于微信告警的相关问题,于是昨天就注册了一个微信公众号,当做学习交流一下: 首先:我们要明白我们创建微信公众号发送消息到底需要哪些参数,这样我们再创建时候注意生成就可以了,需要的有如下几个参数: 1.通讯用户:touser 2.用于生成token的:corpid,secret 3.用于ID 开始操作:企业号注册连接:https://qy.weixin.qq.com/cgi-bin/loginpage 1.点击注册,然后选择团队主从即可: 2.创建

C#微信公众号接口开发,灵活利用网页授权、带参数二维码、模板消息,提升用户体验之完成用户绑定个人微信及验证码获取

一.前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号密码.作为微信接口开发人员我们知道网页授权可以用作微信网页用作安全登录,带参数二维码的使用用作记录用户来源,模板消息用作购物消费等消息的通知,但是很少看到有综合利用这些高级接口做出体验比较好的公众账号,这里分享一些我开发的用户绑定和验证码的一些心得.所需要的接口有基础的回复.网页授权.带参数二维码.

利用微信公众号快速推广APP应用

在APP推广工作中,新媒体起到了至关重要的作用.新媒体对于信息传播的快速.高效.多元化,可以很好地将APP平台的功能.服务.资讯.活动等内容传递给用户群体,并且在用户中汇聚成完整的品牌内涵. 新媒体也即用数字化表现的媒体形式,不但包括我们熟知的移动端媒体.网络媒体等,还包括所有数字化的传统媒体,如数字电视,数字报刊杂志等.新媒体倡导"万事万物皆媒体",只要是运用数字化方式表现的所有媒介,都可以成为新媒体.在新媒体当中,目前应用最广泛,用户基数最大的产品就是微信公众号. 微信公众平台最大

利用NATAPP隧道解决微信公众号开发之本地调试难题

一.问题 众所周知,微信公众号开发需要公网的有效域名和80端口,本机当然互联网是访问不了的.那么我们难道去一个公网的服务器去开发吗?那样是不是太土了. 答案当然是,NO 当然我们在做微信支付的时候,有些URL需要域名进行备案了,那么我们首先需要准备一个域名,并且通过的备案,我这里是阿里的一个域名smartbi.club 已经个人备案成功,ICP可查 二.解决问题 2.1.准备条件 硬件:笔记本 软件:Tomcat+NATAPP软件https://natapp.cn+通过备案的域名 注册一个nat