注册 登录
发贴工具
查看: 5|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] 苹果脚本矩形类rect小实例

[复制链接]

2499

主题

2547

帖子

1万

积分

积分
15184
跳转到指定楼层
楼主

苹果脚本矩形类rect小实例

  1. /*
  2. 🍎 AIWROK软件苹果iOS开发文档
  3. 🔨 矩形类 [RectClass] 全新系统化示例
  4. // 🍎交流QQ群:711841924(群)  
  5. // 🍎交流QQ群:528816639  (苹果内测群)
  6. 🎯 适用:AIWROK 苹果iOS 自动化脚本
  7. */

  8. printl("=== 🍎 RectClass矩形类全新系统化示例启动 ===");
  9. sleep.millisecond(1000);

  10. // ============================================
  11. // 📚 第一部分:RectClass 基础概念与获取方式
  12. // ============================================
  13. printl("\n📖 第一部分:RectClass 基础概念");
  14. sleep.millisecond(800);

  15. // 🔹 场景 1: 从 OCR 检测结果获取 Rect
  16. printl("\n【场景 1】通过 OCR 识别获取文本区域矩形");
  17. sleep.millisecond(800);

  18. var demoRect = null;
  19. var hasDemoRect = false;

  20. try {
  21.     // 执行全屏 OCR 识别(使用百分比坐标 0-1)
  22.     var ocrResult = screen.ocr(0, 0, 1, 1);
  23.     printl("✓ OCR 识别完成");
  24.    
  25.     // 获取所有检测到的目标
  26.     var detects = ocrResult.getAllDetect();
  27.     printl("✓ 检测到 " + detects.length + " 个目标");
  28.    
  29.     if (detects.length > 0) {
  30.         // 从第一个检测目标获取矩形对象
  31.         var rectFromOCR = detects[0].getRect();
  32.         printl("✓ 成功获取矩形对象:" + rectFromOCR.toString());
  33.         sleep.millisecond(500);
  34.         
  35.         // 🔥 可视化演示:点击矩形中心点,让红色框显示出来
  36.         printl("\n🔥 可视化演示:点击目标区域,屏幕会显示红色框");
  37.         sleep.millisecond(800);
  38.         printl("  矩形位置:" + rectFromOCR.toString());
  39.         sleep.millisecond(500);
  40.         
  41.         // 获取中心点坐标
  42.         var cx = rectFromOCR.getCenterX();
  43.         var cy = rectFromOCR.getCenterY();
  44.         printl("  中心点坐标:(" + cx.toFixed(4) + ", " + cy.toFixed(4) + ")");
  45.         sleep.millisecond(500);
  46.         printl("  🎯 准备点击目标...");
  47.         sleep.millisecond(500);
  48.         
  49.         // 使用 Detect 对象的点击方法(会自动显示红色框)
  50.         detects[0].click();
  51.         printl("  ✓ 已点击目标,应该看到红色矩形框了!");
  52.         sleep.millisecond(1500); // 等待红色框显示
  53.         
  54.         // 保存为后续示例使用
  55.         demoRect = rectFromOCR;
  56.         hasDemoRect = true;
  57.     } else {
  58.         printl("⚠️ 未检测到目标,将使用模拟数据演示");
  59.         hasDemoRect = false;
  60.     }
  61. } catch (e) {
  62.     printl("⚠️ OCR 识别失败:" + e.message);
  63.     hasDemoRect = false;
  64. }
  65. sleep.millisecond(800);

  66. // 检查 demoRect 是否可用
  67. if (!hasDemoRect || !demoRect) {
  68.     printl("\n❌ 由于无法获取 Rect 对象,后续演示无法进行");
  69.     printl("💡 提示:请确保屏幕上有可识别的文本内容");
  70.     printl("\n=== 🍎 RectClass矩形类系统化示例提前结束 ===");
  71. } else {

  72. // 🔹 场景 2: 说明手动创建 Rect 对象(仅理论演示)
  73. printl("\n【场景 2】关于创建矩形对象的说明");
  74. sleep.millisecond(800);

  75. // ============================================
  76. // 📊 第二部分:矩形边界信息获取方法
  77. // ============================================
  78. printl("\n📊 第二部分:矩形边界信息获取");
  79. sleep.millisecond(800);

  80. // 📌 方法 1: getLeft() - 获取左边界
  81. printl("\n【方法 1】getLeft() - 获取左边界 X 坐标");
  82. sleep.millisecond(500);
  83. var left = demoRect.getLeft();
  84. printl("  ├─ 返回值类型:Double");
  85. printl("  ├─ 功能说明:返回矩形左边界的 X 坐标值");
  86. printl("  └─ 示例结果:左边界 = " + left);
  87. sleep.millisecond(300);

  88. // 📌 方法 2: getRight() - 获取右边界
  89. printl("\n【方法 2】getRight() - 获取右边界 X 坐标");
  90. sleep.millisecond(500);
  91. var right = demoRect.getRight();
  92. printl("  ├─ 返回值类型:Double");
  93. printl("  ├─ 功能说明:返回矩形右边界的 X 坐标值");
  94. printl("  └─ 示例结果:右边界 = " + right);
  95. sleep.millisecond(300);

  96. // 📌 方法 3: getTop() - 获取上边界
  97. printl("\n【方法 3】getTop() - 获取上边界 Y 坐标");
  98. sleep.millisecond(500);
  99. var top = demoRect.getTop();
  100. printl("  ├─ 返回值类型:Double");
  101. printl("  ├─ 功能说明:返回矩形上边界的 Y 坐标值");
  102. printl("  └─ 示例结果:上边界 = " + top);
  103. sleep.millisecond(300);

  104. // 📌 方法 4: getBottom() - 获取下边界
  105. printl("\n【方法 4】getBottom() - 获取下边界 Y 坐标");
  106. sleep.millisecond(500);
  107. var bottom = demoRect.getBottom();
  108. printl("  ├─ 返回值类型:Double");
  109. printl("  ├─ 功能说明:返回矩形下边界的 Y 坐标值");
  110. printl("  └─ 示例结果:下边界 = " + bottom);
  111. sleep.millisecond(300);

  112. // ============================================
  113. // 📐 第三部分:矩形尺寸与中心点计算
  114. // ============================================
  115. printl("\n📐 第三部分:矩形尺寸与中心点");
  116. sleep.millisecond(800);

  117. // 📌 方法 5: getWidth() - 获取宽度
  118. printl("\n【方法 5】getWidth() - 获取矩形宽度");
  119. sleep.millisecond(500);
  120. var width = demoRect.getWidth();
  121. printl("  ├─ 返回值类型:Double");
  122. printl("  ├─ 计算公式:width = right - left");
  123. printl("  └─ 示例结果:宽度 = " + width);
  124. sleep.millisecond(300);

  125. // 📌 方法 6: getHeight() - 获取高度
  126. printl("\n【方法 6】getHeight() - 获取矩形高度");
  127. sleep.millisecond(500);
  128. var height = demoRect.getHeight();
  129. printl("  ├─ 返回值类型:Double");
  130. printl("  ├─ 计算公式:height = bottom - top");
  131. printl("  └─ 示例结果:高度 = " + height);
  132. sleep.millisecond(300);

  133. // 📌 方法 7: getCenterX() - 获取中心 X 坐标
  134. printl("\n【方法 7】getCenterX() - 获取水平中心点");
  135. sleep.millisecond(500);
  136. var centerX = demoRect.getCenterX();
  137. printl("  ├─ 返回值类型:Double");
  138. printl("  ├─ 计算公式:centerX = (left + right) / 2");
  139. printl("  └─ 示例结果:中心 X = " + centerX);
  140. sleep.millisecond(300);

  141. // 📌 方法 8: getCenterY() - 获取中心 Y 坐标
  142. printl("\n【方法 9】getCenterY() - 获取垂直中心点");
  143. sleep.millisecond(500);
  144. var centerY = demoRect.getCenterY();
  145. printl("  ├─ 返回值类型:Double");
  146. printl("  ├─ 计算公式:centerY = (top + bottom) / 2");
  147. printl("  └─ 示例结果:中心 Y = " + centerY);
  148. sleep.millisecond(300);

  149. // 💡 实用技巧:获取矩形中心点坐标(常用于点击操作)
  150. printl("\n💡 实用技巧:点击矩形中心位置");
  151. sleep.millisecond(500);
  152. printl("  // 获取中心点坐标");
  153. printl("  var cx = rect.getCenterX();");
  154. printl("  var cy = rect.getCenterY();");
  155. printl("  // 执行点击(需要结合点击类)");
  156. printl("  // click.click(cx, cy);");
  157. printl("  当前矩形中心点:(" + centerX + ", " + centerY + ")");

  158. // ============================================
  159. // 🎯 第四部分:矩形内随机点生成与交互
  160. // ============================================
  161. printl("\n🎯 第四部分:矩形内随机点生成");
  162. sleep.millisecond(800);

  163. // 📌 方法 12: getRandX() - 生成随机 X 坐标
  164. printl("\n【方法 12】getRandX() - 生成矩形内随机 X 坐标");
  165. sleep.millisecond(500);
  166. var randomX = demoRect.getRandX();
  167. printl("  ├─ 返回值类型:Double");
  168. printl("  ├─ 取值范围:[left, right] 之间的随机值");
  169. printl("  └─ 示例结果:随机 X = " + randomX);
  170. sleep.millisecond(300);

  171. // 📌 方法 13: getRandY() - 生成随机 Y 坐标
  172. printl("\n【方法 13】getRandY() - 生成矩形内随机 Y 坐标");
  173. sleep.millisecond(500);
  174. var randomY = demoRect.getRandY();
  175. printl("  ├─ 返回值类型:Double");
  176. printl("  ├─ 取值范围:[top, bottom] 之间的随机值");
  177. printl("  └─ 示例结果:随机 Y = " + randomY);
  178. sleep.millisecond(300);

  179. // 💡 实用场景:模拟自然随机点击(避免机械化操作)
  180. printl("\n💡 实用场景:在矩形区域内随机点击");
  181. sleep.millisecond(500);
  182. printl("  // 生成多次随机点击坐标,模拟真实用户行为");
  183. for (var i = 1; i <= 3; i++) {
  184.     var rx = demoRect.getRandX();
  185.     var ry = demoRect.getRandY();
  186.     printl("  第 " + i + " 次随机点击坐标:(" + rx.toFixed(2) + ", " + ry.toFixed(2) + ")");
  187. }

  188. // ============================================
  189. // ✅ 第五部分:点位检测与边界设置
  190. // ============================================
  191. printl("\n✅ 第五部分:点位检测与边界设置");
  192. sleep.millisecond(800);

  193. // &#128204; 方法 9: inRect() - 判断点是否在矩形内
  194. printl("\n【方法 9】inRect(x, y) - 判断坐标点是否在矩形内部");
  195. sleep.millisecond(500);
  196. printl("  ├─ 参数类型:Double x, Double y");
  197. printl("  ├─ 返回值类型:Boolean");
  198. printl("  ├─ 功能说明:检查给定点是否在矩形内部(包含边界)");
  199. printl("  └─ 注意事项:部分版本可能不支持此方法,可手动实现");

  200. // &#128161; 手动实现点位检测(兼容性更好的方式)
  201. printl("\n&#128161; 兼容方案:手动实现点位检测逻辑");
  202. function isPointInRect(rect, x, y) {
  203.     var left = rect.getLeft();
  204.     var right = rect.getRight();
  205.     var top = rect.getTop();
  206.     var bottom = rect.getBottom();
  207.    
  208.     // 判断条件:left <= x <= right 且 top <= y <= bottom
  209.     return (x >= left && x <= right && y >= top && y <= bottom);
  210. }

  211. var testPoint1 = {x: centerX, y: centerY}; // 中心点(应该在内部)
  212. var testPoint2 = {x: left - 50, y: top - 50}; // 左上角外部点(应该在外部)

  213. var isInside1 = isPointInRect(demoRect, testPoint1.x, testPoint1.y);
  214. var isInside2 = isPointInRect(demoRect, testPoint2.x, testPoint2.y);

  215. printl("  ├─ 测试点 1 (中心点): (" + testPoint1.x.toFixed(4) + ", " + testPoint1.y.toFixed(4) + ")");
  216. printl("  │   └─ 检测结果:" + (isInside1 ? "✓ 在矩形内" : "✗ 不在矩形内"));
  217. printl("  ├─ 测试点 2 (外部点): (" + testPoint2.x.toFixed(4) + ", " + testPoint2.y.toFixed(4) + ")");
  218. printl("  │   └─ 检测结果:" + (isInside2 ? "✓ 在矩形内" : "✗ 不在矩形内"));

  219. // 如果系统支持 inRect 方法,也可以使用(尝试调用)
  220. try {
  221.     if (typeof demoRect.inRect === 'function') {
  222.         var nativeResult = demoRect.inRect(centerX, centerY);
  223.         printl("  ✓ 系统原生 inRect 方法可用,结果:" + nativeResult);
  224.     } else {
  225.         printl("  ⚠️ 系统原生 inRect 方法不可用,请使用上面的兼容方案");
  226.     }
  227. } catch (e) {
  228.     printl("  ⚠️ 调用 inRect 方法失败:" + e.message);
  229. }

  230. // &#128204; 方法 10: set() - 设置矩形边界
  231. printl("\n【方法 10】set(left, top, right, bottom) - 设置矩形边界");
  232. printl("  ├─ 参数类型:Single left, Single top, Single right, Single bottom");
  233. printl("  ├─ 返回值类型:Void(无返回值)");
  234. printl("  └─ 功能说明:重新定义矩形的四个边界值");
  235. printl("  ⚠️ 注意:此方法需要可编辑的 Rect 对象,OCR 获取的 Rect 通常为只读");

  236. // ============================================
  237. // &#128260; 第六部分:坐标系统转换(百分比↔真实坐标)
  238. // ============================================
  239. printl("\n&#128260; 第六部分:百分比与真实坐标转换");
  240. sleep.millisecond(800);

  241. // &#128204; 方法 14: percentToReal() - 百分比转真实坐标
  242. printl("\n【方法 14】percentToReal() - 百分比区域转换为真实屏幕坐标");
  243. sleep.millisecond(500);
  244. printl("  ├─ 返回值类型:RectClass");
  245. printl("  ├─ 应用场景:将 0-1 范围的百分比坐标转换为实际像素坐标");
  246. printl("  └─ 示例:");

  247. // 说明:percentToReal 通常需要在特定上下文中使用
  248. printl("  &#128161; 使用场景说明:");
  249. printl("    当您通过 OCR 获取到百分比坐标的 Rect 后,");
  250. printl("    可以调用 rect.percentToReal() 转换为真实像素坐标");
  251. printl("    例如:detect.getRect().percentToReal()");
  252. try {
  253.     if (hasDemoRect && typeof demoRect.percentToReal === 'function') {
  254.         var realRect = demoRect.percentToReal();
  255.         printl("  ✓ 当前 Rect 转换结果:" + realRect.toString());
  256.     } else {
  257.         printl("  ⚠️ 当前环境暂不演示此方法");
  258.     }
  259. } catch (e) {
  260.     printl("  ⚠️ 转换失败:" + e.message);
  261. }

  262. // &#128204; 方法 15: toPercent() - 真实坐标转百分比
  263. printl("\n【方法 15】toPercent() - 真实屏幕坐标转换为百分比");
  264. sleep.millisecond(500);
  265. printl("  ├─ 返回值类型:RectClass");
  266. printl("  ├─ 应用场景:将实际像素坐标转换为 0-1 范围的百分比坐标");
  267. printl("  └─ 示例:");

  268. if (hasDemoRect) {
  269.     try {
  270.         if (typeof demoRect.toPercent === 'function') {
  271.             var backToPercent = demoRect.toPercent();
  272.             printl("    原始矩形:" + demoRect.toString());
  273.             printl("    转换后百分比矩形:" + backToPercent.toString());
  274.             printl("    ✓ 转换成功");
  275.         } else {
  276.             printl("    ⚠️ 当前 Rect 对象不支持 toPercent 方法");
  277.         }
  278.     } catch (e) {
  279.         printl("    ⚠️ 转换失败:" + e.message);
  280.     }
  281. } else {
  282.     printl("    ⚠️ 无可用的 Rect 对象进行演示");
  283. }

  284. // ============================================
  285. // &#127912; 第七部分:字符串表示与调试
  286. // ============================================
  287. printl("\n&#127912; 第七部分:矩形字符串表示与调试输出");
  288. sleep.millisecond(800);

  289. // &#128204; 方法 11: toString() - 获取矩形字符串表示
  290. printl("\n【方法 11】toString() - 返回矩形的字符串描述");
  291. sleep.millisecond(500);
  292. var rectString = demoRect.toString();
  293. printl("  ├─ 返回值类型:String");
  294. printl("  ├─ 格式说明:通常格式为 'Rect(left, top, right, bottom)'");
  295. printl("  └─ 示例结果:" + rectString);

  296. // &#128161; 调试技巧:快速打印矩形信息
  297. printl("\n&#128161; 调试技巧:使用 printl 快速输出矩形信息");
  298. sleep.millisecond(500);
  299. printl("  printl('当前矩形:' + rect.toString());");
  300. printl("  输出:" + demoRect.toString());

  301. // ============================================
  302. // &#127916; 第八部分:综合实战案例
  303. // ============================================
  304. printl("\n&#127916; 第八部分:综合实战案例");
  305. sleep.millisecond(800);

  306. // 案例 1: UI 按钮区域检测与点击
  307. printl("\n【案例 1】UI 按钮区域检测与智能点击");
  308. sleep.millisecond(500);
  309. printl("  场景:检测屏幕上的'提交'按钮并点击");
  310. printl("  步骤:");
  311. printl("  1. OCR 识别屏幕文本");
  312. printl("  2. 查找包含'提交'的 Detect 对象");
  313. printl("  3. 获取按钮的 Rect 区域");
  314. printl("  4. 在按钮区域内随机点击(模拟真实用户)");
  315. printl("  代码框架:");
  316. printl("    var ocrResult = screen.ocr(0, 0, 1, 1);");
  317. printl("    var detects = ocrResult.getAllDetect();");
  318. printl("    for (var i = 0; i < detects.length; i++) {");
  319. printl("      if (detects[i].text.contains('提交')) {");
  320. printl("        var btnRect = detects[i].getRect();");
  321. printl("        var clickX = btnRect.getRandX();");
  322. printl("        var clickY = btnRect.getRandY();");
  323. printl("        // click.click(clickX, clickY);");
  324. printl("        printl('点击提交按钮:' + clickX + ', ' + clickY);");
  325. printl("        break;");
  326. printl("      }");
  327. printl("    }");

  328. // 案例 2: 滑动操作区域规划
  329. printl("\n【案例 2】滑动操作区域规划");
  330. sleep.millisecond(500);
  331. printl("  场景:在指定矩形区域内执行滑动手势");
  332. printl("  步骤:");
  333. printl("  1. 通过 OCR 获取起始区域和结束区域的 Rect");
  334. printl("  2. 或者使用百分比坐标定义区域");
  335. printl("  3. 在起始区域内取随机点作为起点");
  336. printl("  4. 在结束区域内取随机点作为终点");
  337. printl("  5. 执行滑动操作");
  338. printl("  代码框架(使用百分比坐标转换):");
  339. printl("    // 方法 1: 通过 OCR 获取区域");
  340. printl("    var ocrResult = screen.ocr(0.2, 0.4, 0.8, 0.5);");
  341. printl("    var detects = ocrResult.getAllDetect();");
  342. printl("    if (detects.length > 0) {");
  343. printl("      var startArea = detects[0].getRect();");
  344. printl("      var startX = startArea.getRandX();");
  345. printl("      var startY = startArea.getRandY();");
  346. printl("    }");
  347. printl("    ");
  348. printl("    // 方法 2: 手动定义百分比区域并转换");
  349. printl("    // 注意:需要系统支持 Rect 创建或转换");
  350. printl("    printl('实际使用时建议通过 OCR 获取具体区域');");

  351. // 案例 3: 屏幕分区管理
  352. printl("\n【案例 3】屏幕分区管理");
  353. sleep.millisecond(500);
  354. printl("  场景:将屏幕划分为多个功能区域分别处理");
  355. printl("  说明:由于当前环境不支持 new RectClass(),建议使用以下方案:");
  356. printl("  ");
  357. printl("  方案 1: 使用百分比坐标直接定义区域");
  358. printl("    var topArea = {left: 0, top: 0, right: 1, bottom: 0.33};");
  359. printl("    var middleArea = {left: 0, top: 0.33, right: 1, bottom: 0.67};");
  360. printl("    var bottomArea = {left: 0, top: 0.67, right: 1, bottom: 1};");
  361. printl("    ");
  362. printl("  方案 2: 通过 OCR 分区域识别获取 Rect");
  363. printl("    var topOCR = screen.ocr(0, 0, 1, 0.33);");
  364. printl("    var topDetects = topOCR.getAllDetect();");
  365. printl("    if (topDetects.length > 0) {");
  366. printl("      var topRect = topDetects[0].getRect();");
  367. printl("      // 使用 topRect 进行操作");
  368. printl("    }");
  369. printl("    ");
  370. printl("  &#128161; 提示:在实际项目中,推荐使用百分比坐标进行区域划分,");
  371. printl("     然后在每个区域内进行 OCR 识别获取具体的 Rect 对象。");

  372. // ============================================
  373. // ⚠️ 第九部分:注意事项与最佳实践
  374. // ============================================
  375. printl("\n⚠️ 第九部分:注意事项与最佳实践");
  376. sleep.millisecond(800);

  377. printl("\n【注意事项】");
  378. sleep.millisecond(500);
  379. printl("  1. 坐标系统:");
  380. printl("     • 百分比坐标:0-1 范围,跨设备兼容性好");
  381. printl("     • 真实坐标:像素值,精确控制");
  382. printl("     • 使用 percentToReal() 和 toPercent() 灵活转换");
  383. printl("  ");
  384. printl("  2. Rect 对象来源:");
  385. printl("     • 主要通过 Detect.getRect() 获取(OCR 识别结果)");
  386. printl("     • 也可手动 new RectClass() 创建");
  387. printl("     • 还可通过 set() 方法修改现有 Rect");
  388. printl("  ");
  389. printl("  3. 随机点使用:");
  390. printl("     • getRandX() 和 getRandY() 生成的点在 [left, right] 和 [top, bottom] 范围内");
  391. printl("     • 多次调用会得到不同的随机值");
  392. printl("     • 适合模拟真实用户行为,避免被检测");
  393. printl("  ");
  394. printl("  4. 边界检测:");
  395. printl("     • inRect() 方法在某些版本中可能不可用");
  396. printl("     • 推荐使用手动实现方案(如示例所示)");
  397. printl("     • 判断逻辑:x >= left && x <= right && y >= top && y <= bottom");

  398. printl("\n【最佳实践】");
  399. sleep.millisecond(500);
  400. printl("  1. 优先使用百分比坐标,提高脚本兼容性");
  401. printl("  2. 点击操作使用随机点,增加真实性");
  402. printl("  3. 及时释放不用的 Rect 对象(如果支持 dispose)");
  403. printl("  4. 复杂操作前先 toString() 输出调试");
  404. printl("  5. 组合使用多个方法,实现智能化操作");

  405. // ============================================
  406. // &#127937; 示例执行完毕
  407. // ============================================
  408. printl("\n=== &#127822; RectClass矩形类系统化示例执行完毕 ===");
  409. sleep.millisecond(500);
  410. printl("✓ 已演示 15 个核心方法");
  411. sleep.millisecond(300);
  412. printl("✓ 已展示 3 个实战案例");
  413. sleep.millisecond(300);
  414. printl("✓ 已说明注意事项与最佳实践");
  415. sleep.millisecond(500);
  416. printl("\n&#128161; 提示:在实际脚本中使用时,请根据具体场景选择合适的方法组合!");

  417. } // end of else block for demoRect check
复制代码



untoAIWROK安卓苹果平台设计的实用工具库nextnocontent
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖