autoit几行代码实现QQ自动发送消息,点赞,去空间留言。

时间:2024-03-27 17:28:33

情不知所起一往而深!

所以呢,每天必须留言,点赞,去空间。

我想我可是擅长(装逼)自动化的啊,怎么能,像这些重复的事情怎么能去干呢,

第一个想到的是appium,好久不弄了,算了不想拾起了。

马上想到,以前做selenium的时候,用过一个autoit。

官方api走起,看了半天,发现只需有窗口,鼠标键盘事件就能满足我的需求了。(中文文档:https://www.jb51.net/shouce/autoit/),

然后就开始研究怎么实现:

1.首先呢,扣扣设置成开启自动登录:

autoit几行代码实现QQ自动发送消息,点赞,去空间留言。

 

2._RunDos("explorer.exe " &chr("34")& "tencent://Message/?menu=yes&exe=&uin=" & "1234(QQ号)" & "&websiteName=未知区域" &chr("34")& "")

3.开始模拟点击,输入等操作。

 

完整代码如下:

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=7872\g9.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>
#include <Process.au3>
_RunDos("explorer.exe " &chr("34")& "tencent://Message/?menu=yes&exe=&uin=" & "123(扣扣号)" & "&websiteName=未知区域" &chr("34")& "")
;判断是否有该聊天框
If WinActivate("老婆") Then
    ;~ 如果有获取光标位置
    $test = WinGetPos("老婆")
    Sleep(500)
    ;输入test
    Send("123")
    ;~ 由光标位置推算发送按钮绝对位置
    MouseClick("left",$test[0]+520,$test[1]+550,1)

    ;由光标位置推算发送按钮绝对位置
    MouseClick("left",$test[0]+320,$test[1]+26,1)
    $dianzan = 0
    While $dianzan<=10
        $dianzan= $dianzan+1

    ;由于弹框总是居中所以直接用绝对位置
        MouseClick("left",1280,800)


    WEnd

    ;~ 由光标位置推算,空间位置
    MouseClick("left",$test[0]+410,$test[1]+26,1)
    Sleep(5000)

;由于浏览器打开无法确定坐标所有采用按键方式
    $i = 0
    ;按34个tab键
    While $i <= 34
        Send("{TAB}")
        $i = $i + 1
        Sleep(500)

    WEnd
    Sleep(500)
    Send("留言123")
    Send("{TAB}")
    Send("{TAB}")
    Send("{TAB} ")
    Send("{ENTER}")
Else
    MsgBox(0,"","没有该聊天框")

EndIf
上面代码可以实现去空间留言,点赞,扣扣发消息功能。

只是抛转引玉,欢迎大家指正。

最后可以封装一个exe.加上自己喜欢的图标

autoit几行代码实现QQ自动发送消息,点赞,去空间留言。