@@ -13,8 +13,8 @@ https://active.jd.com/forever/btgoose url script-response-body jd_hd.js
1313hostname = *.jd.com, *.*.jd.com
1414*/
1515const $ = new Env ( '京东助手' ) ;
16- const clickClassNames = $ . getData ( 'id77_vConsole_clickClassNames ' ) || '' ;
17- const clickClassNames2 = $ . getData ( 'id77_vConsole_clickClassNames2 ' ) || '' ;
16+ const clickClassName = $ . getData ( 'id77_vConsole_clickClassName ' ) || '' ;
17+ const clickClassName2 = $ . getData ( 'id77_vConsole_clickClassName2 ' ) || '' ;
1818const clickInterval = $ . getData ( 'id77_vConsole_clickInterval' ) || 70 ; // ms
1919const clickNum = $ . getData ( 'id77_vConsole_clickNum' ) || 1 ; // 点击次数
2020const cancelDisabled =
@@ -304,8 +304,8 @@ try {
304304 $dom.addEventListener('click', () => {
305305 vConsole.show();
306306 vConsole.showTab("default");
307- const $clickDoms = document.querySelectorAll ("${ clickClassNames } ");
308- console.info($clickDoms)
307+ const $clickDom = document.querySelector ("${ clickClassName } ");
308+ console.info($clickDom);
309309 })
310310
311311 toolList.push({
@@ -314,9 +314,9 @@ try {
314314 onClick: function (event) {
315315 vConsole.hide();
316316 // vConsole.showTab("network");
317- const $clickDoms = document.querySelectorAll ("${ clickClassNames } ");
317+ const $clickDom = document.querySelector ("${ clickClassName } ");
318318
319- clickTask($clickDoms );
319+ clickTask($clickDom );
320320
321321 },
322322 });
@@ -345,36 +345,19 @@ try {
345345 vConsole.addPlugin(JDCKPlugin);
346346 }
347347
348- if("${ clickClassNames } ".includes('.') || "${ clickClassNames } ".includes('#')) {
348+ if("${ clickClassName } ".includes('.') || "${ clickClassName } ".includes('#')) {
349349 vConsole.addPlugin(QGPlugin);
350350 }
351351
352352 setTimeout(() => {
353353 console.log(window.location.href);
354354
355355 const $btns = document.querySelectorAll("button");
356- if (${ cancelDisabled } ) {
357- for (let n = 0; n < $btns.length; n++) {
358- const $btn = $btns[n];
359- if (${ cancelDisabled } ) {
360- $btn.removeAttribute('disabled');
361- }
362- }
363- }
356+ btnTask($btns);
364357
365- const $clickDoms = document.querySelectorAll("${ clickClassNames } ");
358+ const $clickDom = document.querySelector("${ clickClassName } ");
359+ classNameTask($clickDom);
366360
367- if ("${ unClassName } " !== "" || "${ inClassName } " !== "") {
368- for (let n = 0; n < $clickDoms.length; n++) {
369- const $element = $clickDoms[n];
370- if ("${ unClassName } " !== "") {
371- $element.classList.remove("${ unClassName } ");
372- }
373- if ("${ inClassName } " !== "") {
374- $element.classList.add("${ inClassName } ");
375- }
376- }
377- }
378361
379362 if ("${ timingRunningTime } " !== "") {
380363 const date = new Date();
@@ -395,33 +378,63 @@ try {
395378 let needTask = new Date(taskDate) >= new Date() ? true : false;
396379
397380 if (needTask) {
398- setTimeout(() => clickTask($clickDoms ), new Date(taskDate).getTime() - Date.now());
381+ setTimeout(() => clickTask($clickDom ), new Date(taskDate).getTime() - Date.now());
399382 }
400383 }
401384
402385 },3000);
403386
404387 }
405388
406- function clickTask($clickDoms) {
407- console.log($clickDoms);
389+ function clickTask($clickDom) {
390+ let $dom = $clickDom;
391+ async function* asyncGenerator() {
392+ let i = 0;
393+ while (i < Number(${ clickNum } ) && "${ clickClassName2 } " === "") {
394+ yield i++;
395+ }
396+ }
408397
409- for (let n = 0; n < $clickDoms.length; n++) {
410- const $element = $clickDoms[n];
398+ (async function() {
399+ for await (let num of asyncGenerator()) {
400+ let time = Number(${ clickInterval } ) * num;
401+ console.info("========" + num + "========");
402+ console.log($dom);
403+
404+ setTimeout(() => {
405+ btnTask($dom);
406+ classNameTask($dom);
407+ $dom.click();
408+
409+ if ("${ clickClassName2 } " !== "") {
410+ setTimeout(() => {
411+ const $dom2 = document.querySelector("${ clickClassName2 } ");
412+ console.log($dom2);
413+ $dom2.click();
414+ });
415+ }
416+ }, time);
417+ }
418+ })();
411419
412- let intervalId = setInterval(() => {
413- $element.click()
414- if ("${ clickClassNames2 } " !== "") {
415- setTimeout(() => document.querySelector("${ clickClassNames2 } ").click(), 77)
416- }
417- },${ Number ( clickInterval ) } );
420+ }
418421
419- setTimeout(() => clearInterval(intervalId), ${
420- ( Number ( clickNum ) + 1 ) * clickInterval
421- } );
422+ function classNameTask ($dom) {
423+ if(!$dom) return;
422424
425+ if ("${ unClassName } " !== "") {
426+ $dom.classList.remove("${ unClassName } ");
427+ }
428+ if ("${ inClassName } " !== "") {
429+ $dom.classList.add("${ inClassName } ");
423430 }
424431 }
432+
433+ function btnTask ($dom) {
434+ if (${ cancelDisabled } ) {
435+ $dom.removeAttribute('disabled');
436+ }
437+ }
425438 </script>
426439</html>
427440` ;
0 commit comments