Array.from(document.querySelectorAll('path')).forEach(path => path.dispatchEvent(new Event('mouseover'))); const sectors = Array.from(document.querySelectorAll('path')).filter(path => path.style.stroke === 'rgb(68, 68, 68)'); getCurrentSeats = function() { return Array.from(document.querySelectorAll('#svg-wrapper circle')).length - Array.from(document.querySelectorAll('#svg-wrapper circle')).filter(circle => circle.style.fill === "url(\"#taken-seat\")").length }; async function run() { let freeSeatsAll = 0; let i = 0; for await (const sector of sectors) { i++; await new Promise(resolve => setTimeout(resolve, 1000)); await jQuery(sector).trigger('click'); if (!document.querySelector('.btn-seat-select')) { continue; } await document.querySelector('.btn-seat-select').click(); await new Promise(resolve => setTimeout(resolve, 2000)); const freeSeatsSector = getCurrentSeats(); freeSeatsAll += freeSeatsSector; console.log(`Freie Sitzplätze: ${freeSeatsAll}, gezählte Sektoren: ${i}/${sectors.length}`); await document.querySelector('.back-to-stadium').click(); await new Promise(resolve => setTimeout(resolve, 2000)); } console.log(`Alle Sektoren durchgezählt, freie Plätze: ${freeSeatsAll}`); } run()