开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1074|回复: 11
收起左侧

[完成] 会JS的 小哥哥们来帮个帮 谢啦.

 关闭 [复制链接]
结帖率:67% (6/9)
发表于 2021-5-10 08:47:19 | 显示全部楼层 |阅读模式   黑龙江省大庆市
500精币
  
置随机数种子 ()
标签A数组1 = document.querySelector (" #reg1" ;).querySelectorAll ("a") ' 提取第一组标签
标签A数组2 =document.querySelector (" #reg2" ;).querySelectorAll ("a") ‘提取第二组标签
a = 0
判断循环首 (a < 10)  ' 一共需要点击10个标签
a = a + 1
成员最大数 = 取数组成员数 (标签A数组1)  ' 这里取数组最大值
判断 (成员最大数 ≥ 1)  ' 如果 第一组标签里面还有内容 那就随机取出一条点一下
n = 取随机数 (1, 成员最大数)  ' 这里随机获取一个标签索引
标签A数组1[n].click ()’这里点击这个随机获取的标签索引
删除成员 (标签A数组1, n, 1)  ' 这里是为了 防止重复点击同一个标签 所以删掉数组里面已经点过的成员

成员最大数 = 取数组成员数 (标签A数组2)  ' 下面这些 同上  意思 是如果上面第一组标签 如果 数组小于10个的时候 不够了 我们就去第二组标签里面随机点 继续点够10个
判断 (成员最大数 ≥ 1)
n = 取随机数 (1, 成员最大数)
标签A数组2[n].click ()
删除成员 (标签A数组2, n, 1)





判断循环尾 ()


找个同学帮忙写出 易语言代码同理的功能 用JS代码写出 谢啦. 可以不同思路 结果相同即可.



补充内容 (2021-5-10 08:56):
2组 A标签, 随机点10个 优先第一个数组 如果第一个数组里面不重复点击的不够10个 就继续用第二个数组随机点 点够10个为止.

最佳答案

查看完整内容

楼上的代码 var tabarr = document.querySelector("#reg1").querySelectorAll("a"); var tabarr2 = document.querySelector("#reg2").querySelectorAll("a"); tabarr = [].slice.call(tabarr); tabarr2 = [].slice.call(tabarr2); var rnd; var c; while (tabarr.length > 0) { rnd = getRandomInt(1, tabarr.length); tabarr[rnd - 1].cl ...

结帖率:100% (5/5)

签到天数: 16 天

发表于 2021-5-10 08:47:20 | 显示全部楼层   河南省郑州市
mqdzw126 发表于 2021-5-10 09:44
补充内容 (2021-5-10 09:44):
控制台执行后 执行失败

楼上的代码

        var tabarr = document.querySelector("#reg1").querySelectorAll("a");
        var tabarr2 = document.querySelector("#reg2").querySelectorAll("a");


        tabarr = [].slice.call(tabarr);
        tabarr2 = [].slice.call(tabarr2);

        var rnd;
        var c;
        while (tabarr.length > 0) {
            rnd = getRandomInt(1, tabarr.length);
            tabarr[rnd - 1].click();
            tabarr.splice(rnd - 1, 1);
            c++;
        }

        while (c < 10) {
            rnd = getRandomInt(1, tabarr2.length);
            tabarr2[rnd - 1].click();
            tabarr2.splice(rnd - 1, 1)
            c++;
        }

        function getRandomInt(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min;
        }
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 16 天

发表于 2021-5-10 08:54:20 | 显示全部楼层   河南省郑州市
不是很明白 希望你可以详细说明一下 你的用途和要求
回复

使用道具 举报

结帖率:67% (6/9)
 楼主| 发表于 2021-5-10 09:06:34 | 显示全部楼层   黑龙江省大庆市
石榴熟了 发表于 2021-5-10 08:54
不是很明白 希望你可以详细说明一下 你的用途和要求

就是一共获取2个数组的A标签  然后我们要随机点10个数组内的A标签  优先第一个数组里面的A标签点 第一个里面如果不够10个 那就继续从第二个数组里面找  点够10次即可.
回复

使用道具 举报

发表于 2021-5-10 09:19:52 | 显示全部楼层   广东省江门市
不用哪麻烦 直接 接口调用就可以

补充内容 (2021-5-10 09:23):
给个网址?
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 19 天

发表于 2021-5-10 09:23:22 | 显示全部楼层   湖北省武汉市
  1. var tabarr = document.querySelector(" #reg1";).querySelectorAll("a");
  2. var tabarr2 = document.querySelector(" #reg2";).querySelectorAll("a");
  3. var rnd;
  4. while (tabarr.length > 0) {
  5.     rnd = getRandomInt(1, tabarr.length);
  6.     tabarr[rnd - 1].click();
  7.     tabarr.splice(rnd - 1, 1)
  8. }
  9. while (tabarr2.length > 0) {
  10.     rnd = getRandomInt(1, tabarr2.length);
  11.     tabarr2[rnd - 1].click();
  12.     tabarr2.splice(rnd - 1, 1)
  13. }

  14. function getRandomInt(min, max) {
  15.     return Math.floor(Math.random() * (max - min + 1)) + min;
  16. }
复制代码
回复

使用道具 举报

结帖率:100% (2/2)

签到天数: 19 天

发表于 2021-5-10 09:36:34 | 显示全部楼层   湖北省武汉市
以为是每个都点10次

  1. var tabarr = document.querySelector(" #reg1";).querySelectorAll("a");
  2. var tabarr2 = document.querySelector(" #reg2";).querySelectorAll("a");
  3. var rnd;var c;
  4. while (tabarr.length > 0) {
  5.     rnd = getRandomInt(1, tabarr.length);
  6.     tabarr[rnd - 1].click();
  7.     tabarr.splice(rnd - 1, 1);
  8.     c++;
  9. }

  10. while (c < 10) {
  11.     rnd = getRandomInt(1, tabarr2.length);
  12.     tabarr2[rnd - 1].click();
  13.     tabarr2.splice(rnd - 1, 1)
  14.     c++;
  15. }




  16. function getRandomInt(min, max) {
  17.     return Math.floor(Math.random() * (max - min + 1)) + min;
  18. }
复制代码

补充内容 (2021-5-10 10:01):
@石榴熟了 感谢指正

点评

确实 搞错了 元素节点是一个对象 .不能用作数组形式去删除.   湖北省武汉市  发表于 2021-5-10 09:52
tabarr = [].slice.call(tabarr); tabarr2 = [].slice.call(tabarr2);   河南省郑州市  发表于 2021-5-10 09:46
tabarr 是元素节点 支持splice 删除数组 ?   河南省郑州市  发表于 2021-5-10 09:42
回复

使用道具 举报

结帖率:67% (6/9)
 楼主| 发表于 2021-5-10 09:44:02 | 显示全部楼层   黑龙江省大庆市
c32x78 发表于 2021-5-10 09:36
以为是每个都点10次
  1. document.querySelector("#regList").querySelectorAll('a')
  2. NodeList(17) [a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a]
  3. document.querySelector("#divCity").querySelectorAll('a')
  4. NodeList(694) [a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, …]
  5. var tabarr = document.querySelector("#regList";).querySelectorAll("a");
  6. var tabarr2 = document.querySelector("#divCity";).querySelectorAll("a");
  7. var rnd;var c;
  8. while (tabarr.length > 0) {
  9.     rnd = getRandomInt(1, tabarr.length);
  10.     tabarr[rnd - 1].click();
  11.     tabarr.splice(rnd - 1, 1);
  12.     c++;
  13. }

  14. while (c < 10) {
  15.     rnd = getRandomInt(1, tabarr2.length);
  16.     tabarr2[rnd - 1].click();
  17.     tabarr2.splice(rnd - 1, 1)
  18.     c++;
  19. }




  20. function getRandomInt(min, max) {
  21.     return Math.floor(Math.random() * (max - min + 1)) + min;
  22. }
  23. VM7141:1 Uncaught SyntaxError: missing ) after argument list
复制代码

补充内容 (2021-5-10 09:44):
控制台执行后 执行失败

点评

看楼上.   湖北省武汉市  发表于 2021-5-10 10:12
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表