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

    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
    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
    // ==UserScript==
    // @name         BLS Spain
    // @namespace    https://appointment.blsspainrussia.ru/
    // @version      2025-06-15
    // @description  try to take over the world!
    // @author       You
    // @match        https://appointment.blsspainrussia.ru/Global/Appointment/VisaType*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net
    // @grant        none
    // ==/UserScript==
    
    
    function doit() {
        let jQuery = window.jQuery;
        let a = jQuery.find("label:contains(Appointment For)").filter(el => el.offsetParent !== null);
        jQuery(a).parent().find(':contains(Family)').click();
    
        setTimeout(() => {
            jQuery(".btn-success").first().click()
            setTimeout(() => {
    
                let a = jQuery.find("label:contains(Number Of Members)").filter(el => el.offsetParent !== null);
                jQuery(a).parent().find('.k-dropdown').click();
    
                setTimeout(() => {
                    jQuery.find("li:contains(2 Members)").forEach(x=>x.click())
    
                    let a = jQuery.find("label:contains(Location)").filter(el => el.offsetParent !== null);
                    jQuery(a).parent().find('.k-dropdown').click();
    
                    setTimeout(() => {
                        jQuery.find("li:contains(Moscow)").forEach(x=>x.click())
    
                        let a = jQuery.find("label:contains(Visa Type)").filter(el => el.offsetParent !== null);
                        jQuery(a).parent().find('.k-dropdown').click();
    
                        setTimeout(() => {
                            jQuery.find("li:contains(Schengen Visa)").forEach(x=>x.click())
    
                            setTimeout(() => {
                                let a = jQuery.find("label:contains(Visa Sub Type)").filter(el => el.offsetParent !== null);
                                jQuery(a).parent().find('.k-dropdown').click();
    
                                setTimeout(() => {
                                    jQuery.find("li:contains(Tourism)").forEach(x=>x.click())
    
                                    setTimeout(() => {
                                        let a = jQuery.find("label:contains(Category)").filter(el => el.offsetParent !== null);
                                        jQuery(a).parent().find('.k-dropdown').click();
    
                                        setTimeout(() => {
    
                                            jQuery.find("li:contains(Normal)").forEach(x=>x.click());
    
                                            setTimeout(() => {
                                                jQuery("#btnSubmit").click();
                                            }, 200);
                                        }, 200);
                                    }, 200);
                                }, 200);
                            }, 200);
                        }, 200);
                    }, 200);
                }, 200);
            }, 200);
        }, 700);
    }
    
    (function() {
        'use strict';
    
        console.log("Hello!");
        setTimeout(function() {
            doit();
        }, 1000);
    })();

    нагомнякал

    Запостил: 3_dar, 24 Марта 2026

    Комментарии (10) RSS

    • Дебычи напихали несколько invisible-копий формы, чтобы сложнее было писать селекторы. Приходится искать только visible элементы и кликать на все найденный кнопки (какие прокликнутся)

      Какая защита )))
      Ответить
    • https://appaintment.blsspainrussia.ru/
      Ответить
    • :contains — очень плохой вариант, поскольку он сканирует все элементы в поисках нужного текста. Но когда нету id или уникального класса, по-другому не сделаешь.
      Ответить
    • jQuery и let в одном скрипте. Две эпохи слились воедино.
      Ответить
      • Повезло, что на сайте есть jQuery, иначе нужно было бы ебаться с querySelector
        Ответить
      • ты за AJAX (xml) или COMET??
        Ответить

    Добавить комментарий