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

时间:2021-11-01 04:07:11

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

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

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

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

常量数据表

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

批量加好友功能代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
.版本 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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.版本 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!”)

运行结果:

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

总结

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