您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatycznie rozwija wszystkie sekcje "Status przesyłki" na stronie śledzenia Poczty Polskiej.
// ==UserScript== // @name Auto Rozwijanie Menu Poczta Polska // @namespace http://tampermonkey.net/ // @version 1.5 // @description Automatycznie rozwija wszystkie sekcje "Status przesyłki" na stronie śledzenia Poczty Polskiej. // @author Chinchill // @match https://www.poczta-polska.pl/sledzenie-przesylek/* // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; const MAX_RETRIES = 10; // Maksymalna liczba prób ponowienia let retries = 0; // Licznik prób const expandAllAccordions = () => { // Wyszukaj wszystkie przyciski akordeonu i ich zawartość const buttons = document.querySelectorAll('button.accordion-button[data-bs-target]'); const contents = document.querySelectorAll('.accordion-collapse.collapse'); if (buttons.length > 0 && contents.length > 0) { console.log(`Znaleziono ${buttons.length} sekcji do rozwinięcia.`); buttons.forEach((button, index) => { const accordionContent = contents[index]; if (button && accordionContent) { console.log(`Rozwijanie sekcji ${index + 1}.`); try { // Rozwiń akordeon button.classList.remove('collapsed'); button.setAttribute('aria-expanded', 'true'); accordionContent.classList.add('show'); accordionContent.style.display = 'block'; } catch (err) { console.error(`Błąd przy rozwijaniu sekcji ${index + 1}:`, err); } } }); console.log("Wszystkie sekcje zostały rozwinięte."); } else { console.log("Nie znaleziono elementów akordeonu, ponawianie..."); // Ponów próbę, jeśli nie znaleziono akordeonów i są dostępne próby if (retries < MAX_RETRIES) { retries++; setTimeout(expandAllAccordions, 500); // Ponów próbę po 500ms } else { console.error("Nie znaleziono elementów akordeonu po maksymalnej liczbie prób."); } } }; // Uruchom po pełnym załadowaniu DOM document.addEventListener('DOMContentLoaded', () => { console.log("DOM został załadowany. Próba rozwinięcia wszystkich sekcji."); expandAllAccordions(); }); // Użyj MutationObserver do wykrywania dynamicznie ładowanych elementów const observer = new MutationObserver(() => { console.log("Wykryto zmianę w DOM, próba rozwinięcia wszystkich sekcji."); expandAllAccordions(); }); // Obserwuj zmiany w DOM observer.observe(document.body, { childList: true, subtree: true }); })();