bot
unknown
plain_text
4 months ago
2.4 kB
4
Indexable
async function checkExamDates(page) { try { console.log('Sprawdzanie dostępnych terminów...'); const availableDates = await page.evaluate(() => { const dates = []; const rows = document.querySelectorAll('.theory-row'); rows.forEach(row => { const time = row.querySelector('.exam-time span') ? row.querySelector('.exam-time span').textContent.trim() : ''; const places = parseInt(row.querySelector('.exam-places') ? row.querySelector('.exam-places').textContent.trim() : 0); const additionalInfo = row.querySelector('.additional-info') ? row.querySelector('.additional-info').textContent.trim() : ''; const button = row.querySelector('button[id^="practiceExamsButton"]'); if (places > 0 && button) { dates.push({ time, places, additionalInfo, buttonId: button.id }); } }); return dates; }); console.log("Dostępne terminy:", availableDates); const now = new Date(); const validDates = availableDates.filter(date => { const examDate = new Date(`${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()}T${date.time}:00`); const diffDays = (examDate - now) / (1000 * 60 * 60 * 24); return diffDays <= config.maxWaitDays && diffDays >= 0; }); if (validDates.length > 0) { console.log('Dostępne terminy:', validDates); await sendDiscordNotification(`Znaleziono dostępne terminy egzaminu: ${validDates.map(date => date.time).join(', ')}`); for (const date of validDates) { console.log(`Klikam przycisk dla terminu: ${date.time} - ${date.places} miejsc`); await page.click(`#${date.buttonId}`); await page.waitForTimeout(1000); } } else { console.log('Brak dostępnych terminów w ciągu najbliższych 50 dni.'); } } catch (error) { console.error('Błąd podczas sprawdzania terminów:', error.message); } }
Editor is loading...
Leave a Comment