Вот может мне кто-нибудь объяснить... Чтобы получить карту болельщика надо подписать "Согласие на обработку персональных данных и получение электронных уведомлений". Среди прочих пунктов там указано согласие на:- передача (предоставление, доступ) персональных данных Федеральной службе безопасности Российской Федерации, расположенной по адресу 101000, г. Москва, ул. Большая Лубянка, д. 1, Министерству внутренних дел Российской Федерации, расположенному по адресу 119049, г. Москва, ул. Житная, д. 16.- передача (представление, доступ) персональных данных собственникам, пользователям объектов спорта, организаторам официальных спортивных соревнований в информационные системы контроля доступа для осуществления аутентификации при входе в место проведения официального спортивного соревнования.Перечень персональных данных, на обработку которых дается согласие: - фамилия, имя, отчество (при наличии); - число, месяц, год рождения; - пол; - данные документа, удостоверяющего личность (вид документа, серия, номер, кем выдан, дата выдачи, код подразделения (при наличии), дата окончания срока действия (при наличии); - гражданство (при наличии); - фотография; - фотографическое изображение лица, содержащееся на электронном носителе информации действительного паспорта гражданина Российской Федерации, удостоверяющего личность гражданина Российской Федерации за пределами территории Российской Федерации (в случае идентификации с помощью мобильного приложения "Госуслуги. Карта болельщика"); - абонентский номер, выделенный оператором подвижной радиотелефонной связи (для иностранных граждан и лиц без гражданства - при наличии); - адрес электронной почты.
И если все эти свои данные вы не сообщите, то не попадёте на матч. Одному мне кажется, что это уже слишком?
А зачем постить непонятный вам и непроверенный скрипт? =) Чтобы что?
это не мой скрипт. а чатгпт. с первого раза он часто кодирует не совсем правильно. и если после применения скрипта ему указывать какие ошибки возникают, то он переделывает код и рано или поздно код нормально заработает
А до этого качественная подделка документов на уровне подделки денег всегда срабатывала на 100%. Могли лишить всего, пока ты в отпуске. Пока нет 100% требования биометрии это и сегодня сработает.
Сейчас основная проблема не с самом мошенничестве, а в безнаказанности и анонимности мошенников, а также анонимных средствах платежей.
Ни разу о таком не слышал. Примеры в студию.
Доброго времени суток. Подскажите есть скрипт он применяется в ZennoPoster. скрипт рабочий и предназначен для клика по надписи "Показать ещё 5", где цифра может меняться. надписи "Показать ещё 5" прикреплена к конкретному блоку "Нежилые помещения" и действия осуществляются только в этом блоке. сам скрипт отрабатывает и делает клик по надписи, но когда текст полностью исчезает даже из DOM страницы, то скрипт все равно продолжает кликать. как сделать так, чтобы после пропадания надписи скрипт прекращал работу. приложил скрипт и код из DOM
Такие вопросы надо решать через чатгптПроблема, скорее всего, в том, что после исчезновения текста кнопки DOM-дерево может измениться, но скрипт продолжает работать потому что цикл повторного клика не выходит при отсутствии элемента. Ниже можно предложить несколько подходов, чтобы остановить работу после пропадания надписи.
Предлагаемые решения (выберите один или комбинируйте):
Ниже пример переработанного скрипта с учетом пунктов 1 и 2. Он пытается кликнуть по кнопке только если она действительно указывается как кнопка “Показать ещё” внутри блока “Нежилые помещения” и прекращает работу, если надпись исчезла.
(function() { // Флаг завершения let finished = false; // Функция для клика по кнопке "Показать ещё" function clickShowMore() { try { // Находим все секции с заголовками const titles = document.querySelectorAll('.FlatGroups__Title-sc-jd2s28-15'); for (let i = 0; i < titles.length; i++) { const title = titles[i]; // Ищем нужную секцию по тексту if (title.textContent.trim() === 'Нежилые помещения') { const mainWrapper = title.closest('.FlatGroups__FlatGroupWrapper-sc-jd2s28-8'); if (mainWrapper) { const showMoreBtn = mainWrapper.querySelector('.FlatGroupDetails__ButtonMore-sc-1uwm85r-3'); if (showMoreBtn) { const buttonText = showMoreBtn.textContent.trim(); // Проверяем текст кнопки и наличие элемента if (buttonText.includes('Показать ещё')) { console.log('Кликаем по кнопке "Показать ещё"'); showMoreBtn.click(); console.log('Кликнули по кнопке "Показать ещё"'); // Небольшая задержка (можно заменить на более точную, но без блокирующей) const start = Date.now(); while (Date.now() - start < 100) { // просто ждать ~100мс, не блокируя основной поток слишком долго // можно оставить пустым, но цикл даст минимальную задержку } return "CLICKED"; // попробовали кликнуть, повторим цикл } else { console.log('Кнопка "Показать ещё" не содержит ожидаемый текст.'); // Раздел про завершение: кнопка есть, но текст другой — возможно она недоступна // Продолжаем цикл поиска по другим секциям } } else { console.log('Кнопка "Показать ещё" не найдена.'); } } } } // Если ни одна секция не содержит нужной кнопки — завершаем console.log("Показать ещё" отсутствует. Завершаем работу."); finished = true; return "DONE"; } catch (error) { console.error('Произошла ошибка:', error); finished = true; return "ERROR"; } } // Основной цикл выполнения: повторяем до DONE или ERROR // Ограничение по количеству повторов, чтобы не зацикливаться бесконечно let maxTries = 50; let result = "PENDING"; while (!finished && maxTries-- > 0) { result = clickShowMore(); if (result === "CLICKED") { // повторяем попытку повторного клика в следующем проходе // можно добавить небольшую задержку // здесь просто идём к следующей итерации continue; } else { // DONE или ERROR - завершаемся break; } } return result; })();
Дополнительные заметки: