Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скриптом в tampermonkey для сайта (https://javascript.ru/forum/dom-window/82852-skriptom-v-tampermonkey-dlya-sajjta.html)

Runizag 21.07.2021 11:46

Rise,

вот еще видео
хэш бесполезно писать , он генерируется каждый раз по разному,но value где reserveform[gardenid] у всех постоянный ,он не меняется

Runizag 21.07.2021 12:12

Rise,
Ссылки открыл проверьте еще раз, да конечно нужно знать, что нужно выбрать только первый

Runizag 21.07.2021 12:47

Rise,
нет, ее не нужно нажимать ,в общем сайт выдает направление в ровно 7 часов утра, иногда чуть раньше иногда чуть позже ,для этого нужно ,обновить сайт ,после чего появиться группы, т.к появляется групп очень много нужно воспользоваться поиском , и нужно нажать выбрать группу потом , в общем как то так, . Просто для того чтобы это все появилось нужно залогиниться на сайте через паспортные данные, по этому не получиться просто так дать ссылку на сайт. Но если есть такая возможность то можно и нажать кнопку получить направление ,выглядит как то так

Runizag 21.07.2021 14:12

Rise,
да мне хотя бы чтобы выбор группы был ,а последнюю кнопку "получить направления " я сам смогу нажать ,но так название сайта/ru/reserv/get/organization(тут осуществляется поиск и выбор группы) потом после выбора группы идет названиесайта/ru/reserv/get/organization/group (тут находиться сами направления ) ,но брать мне их не обязательно

Runizag 21.07.2021 14:30

Rise,
Проблема в секундах ,все эти направления забирают за секунды ,если ускорить процесс хотя бы на нажатие пару кнопок то процесс существенно ускориться ,просто я думал что это реализовать будет не тяжело ,но я понимаю что переход на другую страницу будет проблемно реализовать , до этого у меня был вот такой скрипт
я просто вбивал нужное мне время в скрипте , а дальше вбивал в поиске нужную цифру нажимал найти и нажимал выбрать группу, а хотелось бы сократить действия так чтобы , я вбил нужное время и нужную группу ,а кнопку получить направления я брал сам уже

Runizag 21.07.2021 15:13

Rise,
вводом текста ускоряет ,большая скорость интернета не ускорит ,это уже проверено , мне просто нужно ввести нужны мне текст и нажалась кнопка найти и выбор группы ,все больше ничего не надо ,я знаю что это очень сильно ускорит взятие направление ,просто нужно чтобы скрипт сделал за меня 4 действия обновил ,ввел текст ,нажал найти ,и выбрал группу ,если возможно сделать без ввода текста а просто по айди названия ,то было бы вообще лучше . Типо что то нажимал выбрать группу по value ,потому что value каждой организации мне известен всегда

Runizag 21.07.2021 15:15

Rise,
Если есть возможность могу в дискорде наглядно все показать и объяснить что и как там работает и что и как мне надо

Runizag 21.07.2021 15:41

Rise,
у каждого названия есть свой типа айди вот к примеру у него 10068 у других он другой ,но всегда он один и цифра это не его порядковый номер ,а просто айди ,если сверху на сайте нажмете "Дошкольные организации" ,то там всех их названия будут и айди если перейдете по ссылке

Runizag 21.07.2021 16:05

Rise,
это я просто так для информации написал ,может она пригодится ,а так да я по названию заведения ищу

Rise 21.07.2021 16:11

Runizag,
(async () => {
    const hours = 8, minutes = 0, seconds = 0, group = 91;

    const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));

    if (sessionStorage.reload == 'yes') {
        sessionStorage.reload = 'no';

        await delay(4000); // Ожидание до загрузки данных (миллисекунды)

        const textInput = document.querySelector('#g-search #name-block input[type=text]');
        textInput.value = group;

        const findButton = document.querySelector('#g-search button[type=button]');
        findButton.click();

        await delay(2000); // Ожидание до результата поиска

        const selectButton = document.querySelector('[class*=g-list-item]:not([style*=none]) button[type=submit]');
        if (selectButton) selectButton.click();

    } else {
        await delay(new Date().setHours(hours, minutes, seconds, 0) - new Date()); // Ожидание до перезагрузки
        sessionStorage.reload = 'yes';
        location.reload();
    }
})();


Часовой пояс GMT +3, время: 00:30.