1. JavaScript / Говнокод #28565

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    const o = {};
    o.operationsBtn = '<a class="button" href="market/user/1/payments" style="display:inline-flex;align-items:center">...</a>';
    const q = {};
    q.renamemodal = '<div class="xenOverlay" style="top: 10%;"><div class="scroll-wrapper sectionMain scrollbar-macosx scrollbar-dynamic" style="position: relative;"><div class="sectionMain scrollbar-macosx scrollbar-dynamic scroll-content" id="SelectForumOverlayScrollbar" style="height: auto; margin-bottom: 0px; margin-right: 0px; max-height: 332px;"><h1 class="heading h1" style="font-size: 1.5em; text-align: center; font-weight: 600; padding: 14px;">Переименовать пользователя</h1><a class="close OverlayCloser"></a><div style="padding: 20px;"><div class="textHeading" style="margin-top: 0">Введите новый никнейм</div><input id="lztnextrename_input" class="textCtrl" style="width: 100%;" maxlength="50"><div style="margin-top:20px"><button class="button primary" id="lztnextrenamesave">Сохранить</button><button class="button" style="margin-left:10px" id="lztnextrenamereset">Сбросить</button><div id="show_renamed_users" style="opacity: 0.4; cursor: pointer; margin-top: 18px; float: right;">Показать переименованных</div></div></div></div></div></div>';
    const G = {};
    G.admin = o, G.lztnext = q;
    const j = G;
    function L() {
      return "aboba";
    }
    const b = abc, c = CryptoJS;
    let Z = {};
    const d = {};
    d.md5 = "abc", d.CryptoJS = "crypto";
    const D = d;
    for (const rQ of Object.entries(D)) {
      window[rQ[1]] = window[rQ[0]];
    }
    if (location.host.match(/\./g).length !== 1 || ["lolz.guru", "zelenka.guru"].indexOf(location.hostname) === -1) return;
    const n = {}, E = GM_info.script.updateURL.split("/")[4].split(".")[0];
    if (eval != unsafeWindow.eval) {
      alert("пашол нахуй");
      return;
    }
    NodeList.prototype.forEach = function (rf) {
      return Array.from(this).forEach(rf);
    };
    const T = [];
    ra("#lztnext-custom-smilies {margin-bottom: 20px}");
    let i = {get: (...rf) => {
      if (i.s) return typeof GM_getValue !== "undefined" ? GM_getValue(...rf) : localStorage.getItem(...rf);
    }, set: typeof GM_setValue !== "undefined" ? GM_setValue : localStorage.setItem, cache: {get: rf => {
      if (i.s) return i.get("_cache_" + rf);
    }, set: (rf, rP) => {
      return i.set("_cache_" + rf, rP);
    }, clear: (rf = "") => {
      i.keys().forEach(rp => {
        if (rp.startsWith("_cache_" + rf) && !rp.match(/(banned)/)) i.del(rp);
      });
    }}, del: typeof GM_deleteValue !== "undefined" ? GM_deleteValue : localStorage.removeItem, keys: typeof GM_listValues !== "undefined" ? GM_listValues : () => {
      return Object.keys(localStorage);
    }, s: true};
    const U = i.get("v");
    if (!U || GM_info.script.version > U) {
      i.cache.clear(), location.reload(), i.set("v", GM_info.script.version);
    }
    !i.get("start") && (["hide_contests_content", "start", "hide_ads", "hide_backgrounds"].forEach(rP => i.set(rP, "true")), i.set("theme", "next"));
    let I = i.get("xenforo_uuid") || localStorage.getItem("xenforo_uuid"), z = i.get("user_id") || localStorage.getItem("uid");
    (!I || !z) && rr();
    const Y = false;
    let g = JSON.parse(i.cache.get("themes") || "null") || {default: {name: "Обычная", source: "data:text/plain,", author: "Lolzteam", palette: ["rgba(52, 52, 52)", "rgb(214,214,214)"]}, next: {name: "Next", source: "https://lztnext.0-day.pw/assets/themes/next.css", author: "кустик, zoto_ff", palette: ["rgba(33, 33, 33)", "rgb(13, 179, 121)"]}};
    const {fetch: k} = unsafeWindow, l = {};
    l.headers = {};
    const N = (rP, rp = l) => {
      return new Promise((a1, a2) => {
        rp.headers = rp.headers || {};
        if (rP.match(u)) {
          if (!z) return;
          rp.headers["lztnext-payload"] = E, rp.headers.Authorization = rp.headers.Authorization || "Bearer " + I.split("%")[0], rp.headers["lolz-user-id"] = z, rp.headers["lztnext-version"] = GM_info.script.version;
          const a5 = Math.floor(Date.now() / 1e3), a6 = a5 + "," + b(L() + ("-" + rp.headers["lztnext-payload"] + "-" + rp.headers.Authorization + "-" + rp.headers["lolz-user-id"] + "-" + rp.headers["lztnext-version"] + "-" + (a5 - a5 % 22)));
          rp.headers["lztnext-hash"] = a6;
        }
        rp.onabort = () => a2(), rp.onerror = () => a2(), rp.ontimeout = () => a2(), rp.onload = a8 => {
          a1(a8.response);
        }, rp.url = rP, GM_xmlhttpRequest(rp);
      });
    };
    if (Y) unsafeWindow.storage = i;
    const u = "https://lztnext.0-day.pw/";
    function t(rP = null, rp = false) {
      rM(rP), rO(rP);
      if (i.get("hide_avatars") === "true") {
        document.querySelectorAll(".avatar img, .avatar span.img").forEach(a3 => rJ(a3));
        if (rp) {
          const a3 = $$(".avatarScaler");
          if (a3.length) {
            const a4 = a3.find("img"), a5 = $$("#page_info_wrap .username span");
            let a6 = a5.attr("data-renamed") || a5.text();
            a4.replaceWith(re(a4, a6, true));
          }
        }
      } else document.querySelectorAll(".avatar img").forEach(async a7 => {
        var _U$Cv, _c$CS;
        const a9 = await rw(a7.src);
        if (!a7.ad) a7.src = a9;
      }), document.querySelectorAll(".avatar span.img.s").forEach(async a7 => {
        const a8 = await rw(a7.style["background-image"].slice(5, -2));
        if (!a7.ad) a7.style["background-image"] = "url(" + a8 + ")";
      });
      const a1 = i.get("redirect");
      if (a1 && a1 !== "none") {
        const a7 = a1 === "lolz" ? "zelenka.guru/" : "lolz.guru/", a8 = a1 === "zelenka" ? "zelenka.guru/" : "lolz.guru/";
        document.querySelectorAll('a[href*="' + a7 + '"]').forEach(async a9 => {
          a9.href = a9.href.replace(a7, a8);
        }), Array.from($('a:contains("' + a7 + '")')).forEach(async a9 => {
          a9.innerHTML = a9.innerHTML.replace(new RegExp(a7.replace(/\//g, "\\/"), "g"), a8);
        });
      }
    }

    jcyozmzl, 20 Января 2023

    Комментарии (4)
  2. JavaScript / Говнокод #28518

    0

    1. 1
    const govnoMochi = `$mocha.govno` ?? "Ваше говно не определено";

    ISO, 20 Декабря 2022

    Комментарии (10)
  3. JavaScript / Говнокод #28517

    0

    1. 1
    const govnoMochi = `$mocha.govno` ?? "Ваше говно не определено";

    ISO, 20 Декабря 2022

    Комментарии (2)
  4. JavaScript / Говнокод #28502

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    const newRecords = {}
    
    for (const prop in overridenRecords) {
      if(Object.prototype.hasOwnProperty.call(overridenRecords, prop)) {
        const source = Object.values(allRecords).find((record) => record.id == prop)
        newRecords[prop] = {...overridenRecords[prop], ...source}
      }
    }
    
    return newRecords

    bootcamp_dropout, 17 Декабря 2022

    Комментарии (22)
  5. JavaScript / Говнокод #28498

    0

    1. 1
    2. 2
    Application was halted by an exception.
    Debug-mode is off.

    doo_dee_doo_dmt, 13 Декабря 2022

    Комментарии (0)
  6. JavaScript / Говнокод #28482

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    export const asObject = <K extends string> (x: unknown) =>
      (x !== null && typeof x === 'object' ? x : {}) as { [P in K]: unknown }
    
    interface Krevetko {
      curvature: number
    }
    
    export const isKrevetko = (x: unknown): x is Krevetko => {
      const { curvature } = asObject<keyof Krevetko>(x)
      return typeof curvature === 'number'
    }
    
    const userInput: unknown = 'хз че тут'
    
    if (!isKrevetko(userInput)) {
      throw new Error('Идите нахуй, плз')
    }
    
    console.info('Йа креветко: ', userInput.curvature)

    doo_dee_doo_dmt, 10 Декабря 2022

    Комментарии (8)
  7. JavaScript / Говнокод #28465

    0

    1. 1
    2. 2
    var width = $(window).width(), check;
    width > 950 ? check = true : check = false;

    Snake911, 30 Ноября 2022

    Комментарии (6)
  8. JavaScript / Говнокод #28225

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function main()
    {
        const iterable = function* () { yield* [1,2,3]; }();
    
        for (const v of iterable)
            print("v =", v);
    }

    я вам говнокод принес. только нахрена я сам не знаю... https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaP ECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXAGx 8BBAKoBnTAAUAHpwAMvAFYTStJg1AEAngAdMC5MT xmCpJfWQE8Ayo3QBhVLQCuLBhAAJlIPABk8BkwAO X8AI0xiEAB2UjNUBUJXBm8/AOC0jKyBCKjYlgSk1MdMZ2yhAiZiAlz/QJCauoEGpoJSmPjElIdG5tb8jtG%2ByIGKoeSASg dUX2Jkdg4qXwYuhgBqFiZIiAWAUg0AQVPkgCFzi7 3HvbQGBQI9wkSmOPo904BmAAiey2OxcAgAVHsAPo nP63PYmPCYWjoKGnACsNy4pBC/0xgIBN3hgJORPu9yeIJIewgLzeewAbntUFQPgQvj 9MGdLlSqWYbIIIKcgkFmQDCaLSEyzv87pdroCOEt aJwMbxAhwtKRUJwACrmTAiGx2PbRJguRmYPYKFZr a0i/48UgETTKpYAa2CGIAdEEABxBf7%2BgCcABYuAGuP 8QyH9Jwwxq3TrOLwFCANC63Us4LAkHgyBQ6agWGY 6IlzWx9YbjbZ3ubLdbvKXy8Q9hofR2BZggho9gAp ACSetpAHFPAteJh8EQbOg9PxBCIxOwuGGZIJFCp1 FqdHpOuDAhAPONAjjwjNypU9OlMofTzeiof%2Ble hjiD/Upg/3yjaoees0L6DEk75fj4bT7lMQFzCBSwEMQmCYHg8 7cMq8YcOqpCatquocGEYQAGoALJ7IOABKewEciAD uiR7AaFi1qaDZ4FaezNmW9Bth2XYIb2A7DmOE60r ghA0o6OLsSWnF0RJk5ZruCxLAgmBMFgSQnKQXoRj 6saxhi/wYmuGhBBiQboYmWHJrhaYZgpWg5jAUBORASCYKot S%2BLO5CUE0wAKMohgokICCoNRmrOmgLYGIegVRL QIVhdhvBRTJSQEFY0IaFl0K9tCwDIKQqWtgA8l5i Xhcm7m1BcxD%2BamoQecgDT4JqvCLsIojiGuG7yE oajJroOIGEYICmBYVgmvYtB4HE6aQEsqB2Nk6YcG mdrrJBrVxcFoWVahLoIRszrUcQTBmJwPAqmqSa7i mHDYE1Xk0gxRrWHWZoWqxTbSa27adj63b8UOI4QO OCy0q9TH1l9VrSqJs5/EGXDya6imeiA/xBD6yRcMkkgYskGjJE6kjE3GqocJZLApBiVl3TZD h2WjDmkLmiAoL9XE%2BcW0VDBlyA5dleUFXwdAcs Q6YQHEyZxJETQmJdKUlmwgglQwtCK3dWCHEY4jaw Wf7fat2rVcgXnHbwkQcpT2ozXEZ3ECY3hYErh14D TqFLFQBj%2BVRmDUSVFgRe1sjLt164dVuA13UN%2 BiGMYhqTXW%2BizfNmlLYeq1pr%2BuzuAwXjgfk5 4F9B144rexQ5EXZ6FHe2Rl2%2BDi5/%2BYF5LXH7dFBl7AZBvTfiMvSN7ByyrJtOLwYhSv XRht04dWjHvcxsM/Xz3EA0DfYg0JEMQFDS8w428MzuJyPShxf1ybwLPu qQKlqUMmmU9T3r0/Pa1M5mN9KVpmPY7j%2BNCbE1JuTdC/w568EZt/GeQQIH3WvtmJYVpJbZBAGGIAA%3D%3D%3D

    ASD_77, 16 Июня 2022

    Комментарии (8)
  9. JavaScript / Говнокод #28183

    −9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    const puppeteer = require('puppeteer-core');
    const fs = require('fs');
    const getCurrentLine = require('get-current-line').default;
    const { execFileSync } = require('child_process');
    
    const data = fs.readFileSync('aviso.bz.cookies.json');
    const cookies = JSON.parse(data.toString());
    
    function randomInteger(min, max) {
      let rand = min - 0.5 + Math.random() * (max - min + 1);
      return Math.round(rand);
    }
    
    function delay(time) {
       return new Promise(function(resolve) {
           setTimeout(resolve, time*1000)
       });
    }
    
    function delay2(time) {
       return new Promise(function(resolve) {
           setTimeout(resolve, time)
       });
    }
    
    let ext = '/home/user/aviso/extensions/1.42.4_0';
    
    (async () => {
      const browser = await puppeteer.launch({
        headless: false,
        defaultViewport: null,
        executablePath: '/usr/bin/chromium',
    devtools: false,
        args: [
    '--start-maximized',
    //'--user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36"',
    //`--disable-extensions-except=${ext}`,
    //`--load-extension=${ext}`
     ]
      });
    
      const page = await browser.newPage();
      await page.setDefaultNavigationTimeout(0);
    
      let newPage;
    
      await page.setCookie(...cookies);
      await page.goto('https://aviso.bz/work-youtube', {waitUntil: 'networkidle0'});
    //await delay(1000);
      let c = 0;
      while(true) {
    
      if(c == 100) {
        await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
        c = 0;
      }
    
    let t = await page.$('[id^="ads-link-"]');
    if(t == null) {
    console.log('wait new tasks...');
    await delay(10);
    await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
    c = 0;
    continue;
    }
    let tt = await t.evaluate((q) => getComputedStyle(q).display);
    if(tt == 'none') {
    console.log('del inactive')
    page.evaluate(q => { document.querySelector('[id^="ads-link-"]').remove(); })
    continue;
    }
    
    let tr = await page.$('tr[class^="ads_"]');
    let span = await tr.$('[onclick^="funcjs[\'start_youtube"]');
    let title = await span.evaluate(el => el.textContent.trim());
    console.log('title: \''+title+'\'');
    let sec = await tr.$('td[align="right"] span[class="serf-text"]');
    let secs = await sec.evaluate(el => el.textContent.trim());
    console.log('sec: ' + secs.split(' ')[0]);
    
    let newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page())));
    
    //await page.waitForSelector('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    //let x = await page.$('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    //console.log(x.click);
    await page.waitForTimeout(2000);
    try {
    await page.click('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    }
    catch(e) {
    console.log('error! del item');
    await page.evaluate(() => {
        document.querySelector('tr[class^="ads_"]').remove()
      });
    continue; } await page.waitForSelector('span[onclick^="funcjs[\'open_window\']"]', { timeout: 60000 }); await delay2(randomInteger(700, 2000)); await page.click('span[onclick^="funcjs[\'open_window\']"]'); newPage = await newPagePromise; await newPage.bringToFront(); const userAgent = await newPage.evaluate(() => navigator.userAgent ); console.log(userAgent) //let pages = await browser.pages(); console.log('> '+newPage.url()); await newPage.waitForSelector('tr[id="timer-tr-block"]', { timeout: 200000 }); await delay(randomInteger(2, 4)); console.log('yt click'); const frame = await newPage.waitForSelector('iframe'); let rect = await newPage.evaluate(el => { let {width, height} = el.getBoundingClientRect(); return {width, height}; }, frame); await newPage.mouse.click(rect.width / 2, rect.height / 2); //execFileSync('xdotool', ['mousemove', '960', '611']); //execFileSync('xdotool', ['click', '1']); console.log('waiting'); await newPage.waitForSelector('a[href=""]', { timeout: 200000 }); console.log('ok'); await delay2(randomInteger(900, 1500)); //console.log('> '+newPage.url()); await newPage.close(); await delay2(500); await page.bringToFront(); await page.evaluate(() => { document.querySelector('tr[class^="ads_"]').remove() }); await delay(randomInteger(1, 3)); console.log('c: '+ ++c +"\n"); } await browser.close(); })();

    автосборщик бабла для aviso

    paroljanet, 23 Мая 2022

    Комментарии (12)
  10. JavaScript / Говнокод #28182

    −10

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    const puppeteer = require('puppeteer-core');
    const fs = require('fs');
    const getCurrentLine = require('get-current-line').default;
    const { execFileSync } = require('child_process');
    
    const data = fs.readFileSync('profitcentr.com.cookies.json');
    const cookies = JSON.parse(data.toString());
    
    function randomInteger(min, max) {
      let rand = min - 0.5 + Math.random() * (max - min + 1);
      return Math.round(rand);
    }
    
    function delay(time) {
       return new Promise(function(resolve) {
           setTimeout(resolve, time*1000)
       });
    }
    
    function delay2(time) {
       return new Promise(function(resolve) {
           setTimeout(resolve, time)
       });
    }
    
    (async () => {
      const browser = await puppeteer.launch({
        headless: false,
        defaultViewport: null,
        executablePath: '/usr/bin/chromium',
    devtools: false,
        args: [
    '--start-maximized',
     ]
      });
    
      const page = await browser.newPage();
      await page.setDefaultNavigationTimeout(0);
    
      let newPage;
    
      await page.setCookie(...cookies);
      await page.goto('https://profitcentr.com', {waitUntil: 'networkidle0'});
    let link = await page.$('a[href^="./work-youtube"]');
    console.log('go to youtube')
    await link.click();
    await page.waitForTimeout(1000);
    
      let c = 0;
      while(true) {
    
      if(c == 100) {
        await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
        c = 0;
      }
    
    let t = await page.$('[id^="ads-link-"]');
    
    if(t == null) {
    console.log('wait new tasks...');
    await delay(10);
    await page.reload({ waitUntil: ["networkidle0", "domcontentloaded"] });
    c = 0;
    continue;
    }
    
    let tt = await t.evaluate((q) => getComputedStyle(q).display);
    if(tt == 'none') {
    console.log('del inactive')
    page.evaluate(q => { document.querySelector('[id^="ads-link-"]').remove(); })
    continue;
    }
    
    let tr = await page.$('tr[class^="ads_"]');
    let span = await tr.$('[onclick^="funcjs[\'start_youtube"]');
    let title = await span.evaluate(el => el.textContent.trim());
    console.log('title: \''+title+'\'');
    let price = await tr.$('[title^="Стоимость"]');
    let prices = await price.evaluate(el => el.textContent.trim());
    console.log('price: ' + prices);
    
    let newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page())));
    
    //await page.waitForSelector('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    //let x = await page.$('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    //console.log(x.click);
    await page.waitForTimeout(1000);
    try {
    await page.click('tr[class^="ads_"] span[onclick^="funcjs[\'start_youtube"]');
    }
    catch(e) {
    console.log('error! del item'); await page.evaluate(() => { document.querySelector('tr[class^="ads_"]').remove() }); continue; } await page.waitForSelector('span[onclick^="funcjs[\'open_window"]', { timeout: 60000 }); await delay2(randomInteger(700, 2000)); await page.click('span[onclick^="funcjs[\'open_window"]'); //newPage = await newPagePromise; await page.waitForTimeout(2000); let p = await browser.pages() newPage = p[2]; await newPage.bringToFront(); console.log('> '+newPage.url()); await newPage.waitForSelector('tr[id="timer-tr-block"]', { timeout: 60000 }); await delay(3); console.log('yt click'); const frame = await newPage.waitForSelector('iframe'); let rect = await newPage.evaluate(el => { let {width, height} = el.getBoundingClientRect(); return {width, height}; }, frame); await newPage.mouse.click(rect.width / 2, rect.height / 2); console.log('waiting'); await newPage.waitForSelector('[id="capcha-tr-block"][style="display: table-row;"]', { timeout: 350000 }); let btn = await newPage.$('[class="butt-nw"]'); await btn.click(); console.log('ok'); await delay2(randomInteger(900, 1500)); //console.log('> '+newPage.url()); await newPage.close(); await delay2(500); await page.bringToFront(); await page.evaluate(() => { document.querySelector('tr[class^="ads_"]').remove() }); await delay(randomInteger(1, 3)); console.log('c: '+ ++c +"\n"); } await browser.close(); })();

    тупо грабер для profitcentr! в день рубль нихуя не делая поднимаю на нем
    ее палится

    paroljanet, 23 Мая 2022

    Комментарии (1)