• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[技术交流] 【院刊】-【201410期】如何循环点击无规律的坐标呢? [复制链接]

1#

如何循环点击无规律的坐标呢?





需要点击的坐标点没有规律?怎么办呢?坐标值没有规律,我们就无法用变量代替它进行变化,那是不是意味着,我要点击10个点,就要重复写十行代码呢? 想让咱重复写代码?门儿都没有!锵锵锵,小编这里分享一个好用的方法,咱一起来看看~~




思路分析

1、 把我们要点击的坐标点都放到一个字符串变量中,例如:
  1. 字符串 = "345,56>214,36>77,88>89,21>39,78>11,20>67,34>80,51>13,63"
复制代码

2、
写一个函数Sub StrToArr(字符串)用来转换分割字符串里的坐标。
咱们看这个字符串,它一共有9个坐标,分别用>这个符合分割开。
"345,56>214,36>77,88>89,21>39,78>11,20>67,34>80,51>13,63"
用split分割函数分割字符串,并且保存到数组arrx里:arrX = Split(字符串, ">")


3、 分割好字符串之后,arrx里存放的数据情况如下:
arrx(0)=345,56
arrx(1)=214,36
arrx(2)=77,88
arrx(3)=89,21
arrx(4)=39,78
arrx(5)=11,20
arrx(6)=67,34
arrx(7)=80,51
arrx(8)=13,63

4、 分割好字符串之后,arry里存放的数据情况如下:
arrx(0)=345,56 分割之后 : arry(0)=345 arry(1)=56
arrx(1)=214,36 分割之后 : arry(0)=214 arry(1)=36
arrx(2)=77,88 分割之后 : arry(0)=77 arry(1)=88
arrx(3)=89,21 分割之后 : arry(0)=89 arry(1)=21
以此类推……

我们需要使用二维数组来记录: ArrMap(UBound(arrX),UBound(arrY))
ArrMap二维数组,第一维的元素个数 是分割 "> "这个符号的个数,即:坐标个数。
第二维的元素个数 是分割 " "这个符号的个数,即:x坐标和y坐标

看表格更加直观:


分割 "> " arrX(0-8)

分割 ", " arry(0) x坐标

分割 ", " arry(1) y坐标

345,56

ArrMap(0,0) =345


ArrMap(0,1) =56

214,36

ArrMap(1,0) =214


ArrMap(1,1) =36

77,88

ArrMap(2,0) =77


ArrMap(2,1) =88

89,21

ArrMap(3,0) =89


ArrMap(3,1) =21

39,78

ArrMap(4,0) =39


ArrMap(4,1) =78

11,20

ArrMap(5,0) =11


ArrMap(5,1) =20

67,34

ArrMap(6,0) =67


ArrMap(6,1) =34

80,51

ArrMap(7,0) =80


ArrMap(7,1) =51

13,63

ArrMap(8,0) =13

ArrMap(8,1) =63



5、 调用Sub StrToArr(字符串) 分割坐标,循环点击坐标点。



代码
  1. 字符串 = "345,56>214,36>77,88>89,21>39,78>11,20>67,34>80,51>13,63"
  2. Call StrToArr(字符串)
  3. For i = 0 To UBound(ArrMap, 1)
  4. MoveTo arrmap(i, 0), arrmap(i, 1)
  5. TracePrint arrmap(i, 0)& ","&arrmap(i, 1)
  6. LeftClick 1
  7. Next
  8. Sub StrToArr(字符串)
  9. Dim i, j, arrX, arrY
  10. arrX = Split(字符串, ">")
  11. For i = 0 To UBound(arrX)
  12. arrY = Split(arrX(i), ",")
  13. For j = 0 To UBound(arrY)
  14. If j = 0 and i = 0 Then
  15. Redim ArrMap(UBound(arrX),UBound(arrY))
  16. End If
  17. ArrMap(i, j) = arrY(j)
  18. next
  19. Next
  20. End Sub
复制代码
注意:
If j = 0 and i = 0 Then
Redim ArrMap(UBound(arrX),UBound(arrY))
End If

这里为什么要在j和i都等于0的时候,定义数组ArrMap的维数和元素个数呢?
因为当j=0 and i=0 的时候,循环才刚刚开始,而二维数组必须要定义才能使用,所以我们需要在循环开始的时候定义,并且,只定义一次。




方法二
  1. 字符串 = "345,56>214,36>77,88>89,21>39,78>11,20>67,34>80,51>13,63"
  2. 坐标 = Split(字符串, ">")
  3. For i = 0 To UBound(坐标)
  4. Execute "MoveTo " & 坐标(i)
  5. MsgBox 坐标(i)
  6. Next
复制代码
这里使用了vbs的 Execute语句 :执行一个或多个指定的语句。
将Moveto 坐标(i) 直接转换为可执行语句,
是一种简单 暴-力的解决方法,大赞!
特别感谢 神梦科技 童鞋无私的分享了这个方法,鼓掌~~






如果童鞋们对于本帖里的内容有疑问或者建议,欢迎跟帖讨论~~




您所在的用户组无法下载或查看附件

本文由按键学院提供技术支持
2个月学会赚大钱的脚本
按键学院10月实战班卷土来袭

    已有2评分我要评分查看所有评分

    本主题由 超级版主 瑞祥幽冥狼 于 2022/5/2 20:54:00 执行 审核帖子 操作
    按键学院免费交流群:376122403

    按键学院招生计划
    按键学院系统教程
    2#


    3#

    高房价房管局

    4#

    电位器的

    5#


    6#

    我看看,谢谢,谢谢了,呵呵呵呵

    7#


    8#


    9#

    如何循环点击无规律的坐标呢?

    10#


    11#

    好象有用啊

    12#

    dfsdaffhjkyu878o9

    13#

    来学习的,看看

    14#

    欢迎常来帮助

    15#

    R哈哈哈哈哈

    16#

    hhhhhhhhhhhhhhhhhhhhhhhhhj

    17#

    每次回帖、谢谢!辛苦了。学习

    18#


    19#

    【院刊】-【201410期】如何循环点击无规律的坐标呢?

    20#


    发新话题 回复该主题