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

软件版本: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

快捷导航

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

返回列表 12345678» / 27
发新话题 回复该主题

[老狼] [老狼][源码、心得分享]----无视分辨率Jsd第三方元素插件----被... [复制链接]

1#
Jsd插件下载:
Jsd.rar (, 下载次数:968)

By节点分析器下载:
XML分析器
完整视频下载:
链接: https://pan.baidu.com/s/1Vyv0-eZ9UcZrnoDEgX2Sgw
提取码: neqq

例子一览(体会下不用图色用元素的魅力):
  1. 醒目提示 "易码/山海/紫猫初始化"
  2. PutAttachment "", "医院名称.txt"
  3. Import "tuling.mqle"
  4. Import "ym.mqle"
  5. Import "ShanHai.lua"
  6. Import "zm.luae"
  7. Dim 项目编号,最终返回手机号,最终返回短信,令牌,手机号
  8. 项目编号 = "25827"
  9. 令牌=ym.登录("278245370", "278245370")
  10. ym.信息 (令牌)
  11. 醒目提示 "Js初始化"
  12. PutAttachment "/data/local/tmp", "jsdroid_cmd.apk"
  13. PutAttachment "/data/local/tmp","JsAndroid.js"
  14. Import "JsDroid.luae"
  15. JsDroid.StartServer()
  16. If JsDroid.WaitStart(5000) Then
  17. TracePrint "启动成功"
  18. JsDroid.Include "/data/local/tmp/JsAndroid.js"
  19. JsDroid.OpenwebMode
  20. Else
  21. TracePrint "启动失败"
  22. End If
  23. 醒目提示 "脚本开始"
  24. '=========================================================
  25. Dim 内容,随机姓名,这是第几次
  26. Dim 科室=Array("内科","外科","妇产科","儿科","中医科","全科","预防保健科","皮肤科","眼科","耳鼻咽喉科","口腔科","康复科","临终关怀科","医学检验科","医学影像科","传染科","病理科","药剂科")
  27. Dim 技术职称=Array("主任医师","副主任医师","主治医师","医师","医士","村医","主任护师","副主任护师","主管护师","护师","护士","研究员","副研究员","助理研究员","实习研究员","主任技师")
  28. Dim 行政职务=Array("院长","副院长","科室/部门主任","科室/部门副主任","科长","副科长","科员/职员/普通医师","其他")
  29. Do
  30. 这是第几次 = 这是第几次 + 1
  31. 醒目提示 "准备注册第"&这是第几次&"个账号!!!"
  32. 内容 = 读取一行()
  33. 醒目提示 内容
  34. ShanHai.AppClean ("com.picahealth.yunque")'清理缓存
  35. RunApp "com.picahealth.yunque", ".activitys.register.RegistActivity"
  36. 等待出现("By.text('已有账号?登录')", False, "已有账号?登录")
  37. 最终返回手机号=ym.获取手机号(令牌,项目编号)
  38. TracePrint 最终返回手机号
  39. InputText 最终返回手机号
  40. 判断到指定页面 "By.text('获取验证码')", True, "获取验证码"
  41. 最终返回短信 = ym.获取短信(令牌, 项目编号,最终返回手机号)
  42. TracePrint 最终返回短信
  43. 判断到指定页面 "By.text('验证码')", True, "验证码"
  44. InputText 最终返回短信
  45. 判断到指定页面 "By.res('com.picahealth.yunque:id/ed_pwd').clazz('android.widget.EditText').pkg('com.picahealth.yunque')", True , "密码"
  46. InputText "a123456"
  47. 判断到指定页面 "By.text('注册')", True, "注册"
  48. ym.释放 令牌, 项目编号, 最终返回手机号
  49. '**********************************************************
  50. Do
  51. 随机姓名 = tuling.姓名生成(随机(1, 880))
  52. 醒目提示 随机姓名
  53. 延迟 1
  54. Loop Until 随机姓名<> null
  55. 等待出现("By.text('医务工作者')", False, "医务工作者")
  56. InputText 随机姓名
  57. 等待出现 "By.text('单位')", True, "单位"
  58. 等待出现 "By.clazz('android.widget.RelativeLayout').pkg('com.picahealth.yunque')", True, "我知道了")
  59. 等待出现 "By.clazz('android.widget.RelativeLayout').pkg('com.picahealth.yunque')", True, "我知道了"
  60. 等待出现 "By.text('输入关键字搜索您的单位')", True, "搜索"
  61. Do
  62. 延迟 3
  63. if 判断到指定页面("By.text('全国')",True,"全国")=True Then
  64. Exit Do
  65. Else
  66. 等待出现 "By.text('取消')", True, "取消"
  67. 等待出现 "By.text('输入关键字搜索您的单位')", True, "搜索"
  68. End If
  69. Loop
  70. 延迟 5
  71. For 1'滑动1次
  72. Swipe 170, 1150, 170, 920, 1000
  73. Next
  74. 等待出现 "By.text('辽宁省')", True, "辽宁省"
  75. //等待出现("By.text('辽宁省').res('com.picahealth.yunque:id/textView').clazz('android.widget.TextView').pkg('com.picahealth.yunque')", True , "吉林省2")
  76. 等待出现 "By.text('鞍山市')", True, "鞍山市"
  77. 等待出现 "By.text('铁西区')", True, "铁西区"
  78. 等待出现 "By.text('启明街道办事处')", True, "启明街道办事处"
  79. 等待出现 "By.text('输入关键字搜索您的单位')", True, "搜索"
  80. InputText 内容
  81. 等待出现("By.res('com.picahealth.yunque:id/iv_add_hospital').clazz('android.widget.ImageView').pkg('com.picahealth.yunque')"),True,"+号"
  82. 等待出现("By.text('请输入单位名称')",True,"请输入单位名称")
  83. InputText 内容
  84. 等待出现 "By.text('确定')", True, "确定"
  85. 等待出现 "By.text('科室/部门')", True, "单位"
  86. 等待出现 "By.text('" & 科室(随机(0, UBOUND(科室))) & "')", True, "选择科室"
  87. 等待出现 "By.text('技术职称')", True, "技术职称"
  88. 等待出现 "By.text('" & 技术职称(随机(0, UBOUND(技术职称))) & "')", True, "技术职称"
  89. 等待出现 "By.text('行政职务')", True, "行政职务"
  90. 等待出现 "By.text('" & 行政职务(随机(0, UBOUND(行政职务))) & "')", True, "选择行政职务"
  91. 等待出现 "By.text('确定')", True, "行政职务"
  92. 延迟 4
  93. Loop
  94. Function 随机(最小值, 最大值)
  95. Randomize
  96. 随机 = Int((最大值 - 最小值 + 1) * Rnd() + 最小值)'随机第一行到最后一行其中一个数字
  97. End Function
  98. Sub 等待出现(by, 是否点击, 提醒)
  99. Do Until 判断到指定页面(by, 是否点击, 提醒) =True
  100. 延迟 2
  101. Loop
  102. End Sub
  103. Function 判断到指定页面(by, 是否点击, 提醒)
  104. 判断到指定页面=False
  105. If JsDroid.FindNode(by, "node") Then
  106. 判断到指定页面=True
  107. 醒目提示 "找到--" & 提醒
  108. If 是否点击 = True Then
  109. 延迟 1
  110. TracePrint JsDroid.Click("node")
  111. End If
  112. Else
  113. 醒目提示 "没找到**"&提醒
  114. End If
  115. End Function
  116. Sub 延迟(秒)
  117. Delay 1000*秒
  118. End Sub
  119. Sub 醒目提示(参数1)
  120. TracePrint "==========================================="
  121. TracePrint 参数1
  122. End Sub
  123. Function 读取一行()
  124. Dim 医院名称记录,j,Var1
  125. 医院名称记录 = File.ReadLines(GetTempDir() & "/医院名称记录.txt")
  126. If 医院名称记录(0) = null Then
  127. j = 0
  128. Else
  129. j = 医院名称记录(0)
  130. End If
  131. TracePrint "本次读取第----"&j&"行"
  132. Var1 = File.ReadLines(GetTempDir() & "/医院名称.txt")
  133. If Int(j) > Int(UBOUND(Var1)) Then
  134. TracePrint "重置文本"
  135. J=0
  136. End If
  137. 读取一行 = Var1(j)
  138. j = j+ 1
  139. Dir.Delete GetTempDir()&"/医院名称记录.txt"
  140. Call File.Write (GetTempDir() & "/医院名称记录.txt",j)
  141. End Function
复制代码
说明:
步骤一[插件放置]:


步骤二[启动]:
  1. PutAttachment "/data/local/tmp", "jsdroid_cmd.apk"
  2. PutAttachment "/data/local/tmp","JsAndroid.js"
  3. Import "JsDroid.luae"
  4. JsDroid.StartServer()
  5. If JsDroid.WaitStart(5000) Then
  6. TracePrint "启动成功"
  7. JsDroid.Include "/data/local/tmp/JsAndroid.js"
  8. JsDroid.OpenwebMode
  9. Else
  10. TracePrint "启动失败"'第一次使用 如果启动失败重启模拟器,如果依然失败使用JsdVip高级版本
  11. End If
复制代码
步骤三[输出xml并分析by]:

步骤四[点击测试]:
  1. PutAttachment "/data/local/tmp", "jsdroid_cmd.apk"
  2. PutAttachment "/data/local/tmp","JsAndroid.js"
  3. Import "JsDroid.luae"
  4. JsDroid.StartServer()
  5. If JsDroid.WaitStart(5000) Then
  6. TracePrint "启动成功"
  7. JsDroid.Include "/data/local/tmp/JsAndroid.js"
  8. JsDroid.OpenwebMode
  9. Else
  10. TracePrint "启动失败"'第一次使用 如果启动失败重启模拟器,如果依然失败使用JsdVip高级版本
  11. End If
  12. TracePrint JsDroid.GetXml()
  13. If JsDroid.Click("By.text('启动功能').res('com.aa:id/btn_option_start').clazz('android.widget.Button').pkg('com.aa')") Then
  14. TracePrint "点击成功"
  15. Else
  16. TracePrint "点击失败"
  17. End If
复制代码
步骤5[说明]:

  • 常用的只有点击节点[JsDroid.Click 点击节点]+判断节点[JsDroid.Exists 节点是否存在 ]+获取所有节点[JsDroid.FindNodeS 查找所有符合条件的节点信息 ]这三个命令
  • 所有命令参数基本都是只填写一个By,例["By.text('启动功能').res('com.aa:id/btn_option_start').clazz('android.widget.Button').pkg('com.aa')"],,其中By为参数固定开头,每个.为一个特征间隔,比如text特征是'启动功能'、res特征是'com.aa:id/btn_option_start'
  • by的后边特征可以乱序,也可以增减,特征越多获取错误几率越低,如果都一样就需要采用遍历获取其坐标等进行二次判断

最后编辑瑞祥幽冥狼 最后编辑于 2022-03-28 14:49:34
本主题由 超级版主 瑞祥幽冥狼 于 2023/10/5 18:25:32 执行 审核帖子 操作
收 徒 索 引 ← ← ← ← ← ← ← ← ← ← 点 击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
2#


3#


4#

123456

5#


6#

66666666

7#


8#


9#

213421312321321321

635787403
10#

狼哥出品,必属精品。

11#

xuexi

值得学习,mark

12#


13#

谢谢

14#


15#

胸谢谢分享!!!!!!!!

16#


17#

非常好..

18#

Jsd第三方元素插件

19#

111111111

20#


联系Q:2456941441
发新话题 回复该主题