讨论 » 开发

这段源码中使用document.getElementsByID()时,id填哪个,我写的代码,运行没反应

§
发表于:2020-05-14
编辑于:2020-05-14

这段源码中使用document.getElementsByID()时,id填哪个,我写的代码,运行没反应

源码如下 <div class="item"> <div class="header">万方数据</div><button class="ui basic button access_btn" data-data-id="zh" data-site-id="wanfangdata" data-site-node="py" data-site-client="false" data-site-enable="true">万方PY</button> <button class="ui basic button access_btn" data-data-id="zh" data-site-id="wanfangdata" data-site-node="gs" data-site-client="false" data-site-enable="true">万方GS</button> <button class="ui basic button access_btn" data-data-id="zh" data-site-id="wanfangdata" data-site-node="tz" data-site-client="false" data-site-enable="true">万方TZ</button> <button class="ui basic button access_btn" data-data-id="zh" data-site-id="wanfangdata" data-site-node="wf" data-site-client="false" data-site-enable="true">万方WF</button> <button class="ui basic button access_btn" data-data-id="zh" data-site-id="wanfangdata" data-site-node="nb" data-site-client="false" data-site-enable="true">万方NB</button> </div>

想通过JavaScript自动点击按钮“万方PY” http://avip.fun/paper?utm_source=recommend 我写的代码,运行没反应

(function() { 'use strict'; var btn = document.getElementById("py"); btn.click(); // Your code here... })();

§
发表于:2020-05-14

没有py 这个 id 你可以改为使用这个元素选择器

document.querySelector('[data-site-node="py"]')
§
发表于:2020-05-14

@"极品小猫" 说道: 没有py 这个 id 你可以改为使用这个元素选择器

document.querySelector('[data-site-node="py"]')

yeah, <3

§
发表于:2020-05-14

` (function() { 'use strict';

for(var i=0;i<10000;i++){
    var url="http://avip.fun/paper?code=";
    window.location.href=url+i;
    var btn=document.querySelector('[data-site-node="py"]');
    btn.click();
}


// Your code here...

})();`

代码这样写可以实现依次在口令框中输入0000-9999,然后点击按钮“万方PY”吗?

§
发表于:2020-05-14

@uhall2020 说道: ` (function() { 'use strict';

for(var i=0;i<10000;i++){
    var url="http://avip.fun/paper?code=";
    window.location.href=url+i;
    var btn=document.querySelector('[data-site-node="py"]');
    btn.click();
}


// Your code here...

})();`

代码这样写可以实现依次在口令框中输入0000-9999,然后点击按钮“万方PY”吗?

不能,这是从0-9999,不是0000。而且这个代码在你跳转页面之后就会重新执行,所以一直都是在访问 0 的这个网址 而且这样爆破网站,估计后面也会有验证码出现

§
发表于:2020-05-15

@"极品小猫" 说道:

@uhall2020 说道: ` (function() { 'use strict';

for(var i=0;i<10000;i++){
    var url="http://avip.fun/paper?code=";
    window.location.href=url+i;
    var btn=document.querySelector('[data-site-node="py"]');
    btn.click();
}


// Your code here...

})();`

代码这样写可以实现依次在口令框中输入0000-9999,然后点击按钮“万方PY”吗?

不能,这是从0-9999,不是0000。而且这个代码在你跳转页面之后就会重新执行,所以一直都是在访问 0 的这个网址 而且这样爆破网站,估计后面也会有验证码出现

原来如此,我看到console中有提交http://avip.fun/paper?code=9999、9998、9997……,正确的口令在里面但是页面却没有跳转

§
发表于:2020-05-15

@uhall2020 最方便的方式是使用fiddler抓api, 批量进行api请求 但是你这么多请求, 不加延时ip必被风控

§
发表于:2020-05-18

@Smoke-N-Mirrors 说道: @uhall2020 最方便的方式是使用fiddler抓api, 批量进行api请求 但是你这么多请求, 不加延时ip必被风控

哈哈,小白一枚,不会写代码

§
发表于:2020-05-18

这不就是暴力破解吗,这个傻吊代码可以完全达到你的要求,但是运行的结果大概只会有你被这个网站拉黑了或者你的浏览器卡死了两种结果

i = -1;
while(i++<9999) {
    document.getElementById('code').value = ('000' + i).slice(-4);
    document.querySelector('[data-site-node="py"]').click();
}
§
发表于:2020-05-18

@indefined 说道: 这不就是暴力破解吗,这个傻吊代码可以完全达到你的要求,但是运行的结果大概只会有你被这个网站拉黑了或者你的浏览器卡死了两种结果

i = -1;
while(i++<9999) {
    document.getElementById('code').value = ('000' + i).slice(-4);
    document.querySelector('[data-site-node="py"]').click();
}

B) ,我快是要被拉黑了

§
发表于:2020-05-18

@uhall2020 说道:

@indefined 说道: 这不就是暴力破解吗,这个傻吊代码可以完全达到你的要求,但是运行的结果大概只会有你被这个网站拉黑了或者你的浏览器卡死了两种结果

i = -1;
while(i++<9999) {
    document.getElementById('code').value = ('000' + i).slice(-4);
    document.querySelector('[data-site-node="py"]').click();
}

B) ,我快是要被拉黑了

这个傻吊代码,还没爆出今天的口令

发表回复

登录以发表回复。