易语言实现YY批量自动加好友的代码

在做yy爬虫的时候,发现yy这个地方没有使用webkit,还在使用ie内核,这样的话我们就可以对它内嵌的浏览器做些什么了。

信息挺好爬的,顺便分析了一下点加好友,加群和关注这几个按钮,发现到最后都是直接与客户端的setCommand方法通信的,我没有办法直接调用它客户端的函数。

使用jquery触发click是一个比较另类的方法,以前觉得别人搞得还挺神奇的,就是没往这方面想。

哦对了,它底层调用的是window.external.setCommand('addFriend',uid)方法,有兴趣的朋友可以研究研究。

常量数据表

.版本 2
.常量 activeCityFriend, "<文本长度: 97>", , $("div[class*='btn-yycity js-btn-yycity active'],div[class*='btn-yycity js-btn-yycity']").click()
.常量 addFriend, "<文本长度: 206>"

批量加好友功能代码

.版本 2
.支持库 spec
.程序集 程序集1
.子程序 BatchAddFriend, , 公开, 批量加好友
.参数 uids, 整数型, 数组
.局部变量 jytb, 网页填表
.局部变量 i, 整数型
.局部变量 uid, 文本型
.局部变量 script, 文本型
jytb.初始化 (GetFindPanel ())
jytb.网页_执行脚本 (#activeCityFriend)
.变量循环首 (1, 取数组成员数 (uids), 1, i)
  uid = uid + 到文本 (uids [i]) + “,”
.变量循环尾 ()
uid = 文本_替换 (uid, 1, 取文本长度 (uid) - 1, , “,”, “”)
script = #addFriend
script = 文本_替换 (script, , , , “{uids}”, uid)
程序_延时 (1000)
jytb.网页_执行脚本 (script)
.子程序 GetAddFriendWindows, , 公开, 获取添加好友窗口句柄数组
.参数 handles, 整数型, 参考 数组
窗口_模糊遍历窗口 (, “QWidget”, “添加联系人”, handles)
.子程序 Arrange, , 公开, 排列窗口
.参数 handles, 整数型, 数组
.局部变量 rect, 精易_矩形
.局部变量 right_offs, 整数型
.局部变量 top_offs, 整数型
.局部变量 i, 整数型
窗口_置位置和大小 (handles [1], 0, 0)
rect = 窗口_取位置和大小 (handles [1])
right_offs = 0
.变量循环首 (2, 取数组成员数 (handles), 1, i)
  right_offs = right_offs + rect.右边
  窗口_置位置和大小 (handles [i], 0, right_offs)
.变量循环尾 ()
.子程序 Input, , 公开, 输入内容
.参数 handles, 整数型, 数组
.参数 text, 文本型
.局部变量 i, 整数型
.局部变量 handle, 整数型
.局部变量 rect, 精易_矩形
.变量循环首 (1, 取数组成员数 (handles), 1, i)
  handle = handles [i]
  rect = 窗口_取位置和大小 (handle)
  .如果真 (rect.底边 = 280)
    窗口_激活 (handle)
    鼠标_消息 (handle, 110, 125)
    程序_延时 (200)
    文本_投递 (handle, text)
    程序_延时 (200)
    鼠标_消息 (handle, 365, 260)
  .如果真结束
  窗口_关闭 (handle)
.变量循环尾 ()
.子程序 GetFindPanel, 整数型, , 本子程序采用【精易编程助手】生成,成功返回窗口句柄,失败返回0
.局部变量 局_句柄, 整数型
局_句柄 = 窗口_取句柄 (, , “QWidget”, “查找”)
.如果真 (局_句柄 = 0)
  返回 (0)
.如果真结束
局_句柄 = 窗口_取句柄 (局_句柄, , “YYBROWSER_AXCONTAINER”, “YYIE”)
.如果真 (局_句柄 = 0)
  返回 (0)
.如果真结束
局_句柄 = 窗口_取句柄 (局_句柄, , “Shell Embedding”, 字符 (0))
.如果真 (局_句柄 = 0)
  返回 (0)
.如果真结束
局_句柄 = 窗口_取句柄 (局_句柄, , “Shell DocObject View”, 字符 (0))
.如果真 (局_句柄 = 0)
  返回 (0)
.如果真结束
局_句柄 = 窗口_取句柄 (局_句柄, , “Internet Explorer_Server”, 字符 (0))
.如果真 (局_句柄 = 0)
  返回 (0)
.如果真结束
调试输出 (局_句柄)
返回 (局_句柄)

YY自动加好友的代码

实现此功能需要加载精易模块5.6和精易VIP模块 V4.31

.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 handles, 整数型, , "0"
.子程序 _BatchAddFriend按钮_被单击
.局部变量 users, 整数型, , "0"
加入成员 (users, 99984964)
加入成员 (users, 999684876)
加入成员 (users, 998943844)
加入成员 (users, 99746075)
加入成员 (users, 997411860)
BatchAddFriend (users)
.子程序 _GetAddFriendWindows按钮_被单击
GetAddFriendWindows (handles)
Arrange (handles)
.子程序 _Input按钮_被单击
Input (handles, “Hello world!”)

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言用夜神模拟器实现抖音自动点赞和评论的代码

    用夜神模拟器实现抖音自动点赞和评论的代码 实现此功能需要加载精易模块5.6和大漠中文类模块 分辨率设置800x600,窗口大小设置固定. .版本 2 .支持库 iext .支持库 iext2 .程序集 窗口程序集_启动窗口 .程序集变量 集_大漠, 大漠中文类 .程序集变量 集_句柄, 整数型 .程序集变量 集_评论内容, 文本型 .程序集变量 集_分割文本, 文本型, , "0" .子程序 __启动窗口_创建完毕 集_大漠.初始_创建_破解 () 置随机数种子 () .子程序 功能_

  • 易语言仿按键精灵录制键盘鼠标操作的代码

    DLL命令表 .版本 2 .DLL命令 取按键状态, 短整数型, "user32.dll", "GetAsyncKeyState" .参数 鼠标键, 整数型 .DLL命令 取鼠标位置, 整数型, "user32.dll", "GetCursorPos" .参数 当前鼠标位置, 鼠标位置, 传址 .DLL命令 模拟鼠标按键, , , "mouse_event" .参数 鼠标动作, 整数型 .参数 水平位置,

  • 易语言通过时钟和计次循环来实现定时任务的代码

    创建定时任务源码 .版本 2 .支持库 iext .支持库 eAPI .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .局部变量 i, 整数型 .计次循环首 (61, i) .如果真 (i < 25) 时组合框.加入项目 (到文本 (i - 1), ) .如果真结束 分组合框.加入项目 (到文本 (i - 1), ) 秒组合框.加入项目 (到文本 (i - 1), ) .计次循环尾 () 时组合框.现行选中项 = 0 分组合框.现行选中项 = 0 秒组合框.现行选中项 = 0

  • 易语言源码被腾讯TP破坏后修复的代码

    DLL命令表 .版本 2 .DLL命令 CopyTo_系统信息段, , , "RtlMoveMemory" .参数 Dest, 系统信息段 .参数 Src, 字节集 .参数 Length .DLL命令 CopyTo_SectionInfo, , , "RtlMoveMemory" .参数 Dest, _SectionInfo .参数 Src, 字节集 .参数 Length .DLL命令 CopyFrom_SectionInfo, , , "RtlMoveM

  • 易语言无需模块设置自动关闭信息框的代码

    DLL命令表 .版本 2 .DLL命令 MessageBoxTimeout, 整数型, "user32.dll", "MessageBoxTimeoutA" .参数 hwnd, 整数型 .参数 lpText, 文本型 .参数 lpCaption, 文本型 .参数 uType, 整数型 .参数 wlange, 整数型 .参数 dwTimeout, 整数型 自动关闭信息框的代码 .版本 2 .程序集 窗口程序集1 .子程序 _弹出信息框按钮_被单击 MessageBox

  • 易语言检测程序是不是在虚拟机中运行的代码

    汇编检测虚拟机的代码 .版本 2 .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕, , , .子程序 检测虚拟机, 逻辑型 .局部变量 a, 整数型 .如果 (try_ ()) a = VMWare检测 () try_out () .否则 .如果结束 .如果真 (a ≠ 0) 返回 (真) .如果真结束 .如果 (try_ ()) a = VPC检测 () try_out () .否则 .如果结束 返回 (a ≠ 0) .子程序 VMWare检测, 整数型, , 此函数不能独立在实体机

  • 易语言枚举进程所有句柄信息的代码

    DLL命令表 .版本 2 .DLL命令 GetCurrentProcessId, 整数型, "kernel32.dll", "GetCurrentProcessId" .DLL命令 GetCurrentProcess, 整数型, "kernel32.dll", "GetCurrentProcess" .DLL命令 RtlMoveMemory_SYSTEM_HANDLE_INFORMATION, , "kernel32

  • 易语言枚举电脑驱动判断是否存在指定驱动的代码

    DLL命令代码 .版本 2 .DLL命令 NtQuerySystemInformation, 整数型, "NTDLL.DLL", "NtQuerySystemInformation" .参数 SystemInformationClass, 整数型 .参数 pSystemInformation, 整数型 .参数 SystemInformationLength, 整数型 .参数 ReturnLength, 整数型, 传址 .DLL命令 CopyMemory, , &qu

  • 易语言通过计算替换字节实现酷狗音乐缓存文件转MP3的代码

    DLL命令表 .版本 2 .DLL命令 创建线程_, 整数型, "kernel32", "CreateThread", , CreateThread建立新的线索 .参数 lpThreadAttributes, 整数型, , 0 .参数 dwStackSize, 整数型, , 0 .参数 lpStartAddress, 子程序指针 .参数 lpParameter, 整数型 .参数 dwCreationFlags, 整数型, , 0 .参数 lpThreadId, 整数

  • 易语言通过句柄名来关闭互斥体实现游戏多开的代码

    DLL命令代码 .版本 2 .DLL命令 GetProcessHandleCount, 逻辑型 .参数 hProcess, 整数型 .参数 pdwHandleCount, 整数型, 传址 .DLL命令 DuplicateHandle, 逻辑型 .参数 hSourceProcessHandle, 整数型 .参数 hSourceHandle, 整数型 .参数 hTargetProcessHandle, 整数型 .参数 lpTargetHandle, 整数型, 传址 .参数 dwDesiredAcce

  • 易语言防止助手探测窗口的代码

    DLL命令代码 .版本 2 .DLL命令 CallWindowProcA, 整数型, "user32.dll", "CallWindowProcA", , 限制窗口大小 .参数 前一窗口函数地址, 子程序指针 .参数 窗口句柄, 整数型 .参数 消息值, 整数型 .参数 附加参数1, 整数型 .参数 附加参数2, 整数型 .DLL命令 SetWindowLongA, 子程序指针, "user32", "SetWindowLongA&qu

  • 易语言通过百度错误页面获取北京时间的代码

    利用百度取北京时间源码 .版本 2 .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕 .局部变量 XML对象, 对象 .局部变量 时间文本, 文本型 .局部变量 网络时间, 日期时间型 .如果真 (XML对象.创建 ("WinHttp.WinHttpRequest.5.1", )) XML对象.方法 ("SetTimeouts", 5000, 5000, 10000, 5000) XML对象.写属性 ("Option", 6, 0) XM

  • 易语言实现截图或右键二维码识别的代码

    DLL命令表 .版本 2 .DLL命令 DecodePictureFile, 整数型, "PsyQrDcd", "DecodePictureFile" .参数 strFilePath, 文本型 .DLL命令 DecodePictureFileRect, 整数型, "PsyQrDcd", "DecodePictureFileRect" .参数 strFilePath, 文本型 .参数 lngLeftX, 整数型 .参数 lngT

  • 易语言调用api枚举网卡名称并且获取信息的代码

    DLL命令表 .版本 2 .DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址 .参数 hModule, 整数型 .参数 lpProcName, 文本型 .DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄

  • 易语言调用百度API获取IP归属地的代码

    常量据表 .版本 2 .常量 查ip地址, "<文本长度: 17>", , {"code":0,"data": 调用百度api获取ip归属地的代码 此功能需要加载精易模块5.6 .版本 2 .程序集 窗口程序集_启动窗口 .子程序 取IP归属地_百度API, 文本型, 公开 .参数 IP地址, 文本型 .局部变量 Json, 类_json .局部变量 返回数据, 文本型 .局部变量 地区, 文本型 CoInitialize (0) 返

随机推荐