Review with more then 200 and sort

This commit is contained in:
2026-08-16 15:41:15 +00:00
parent 0fe3c276bd
commit 63b808b8b3
2 changed files with 28 additions and 0 deletions

View File

@@ -325,6 +325,34 @@ const worker = new Worker('scrape-jobs', async (job) => {
console.log(`[Job ${job.id}] ⚠️ Wartezeit abgelaufen – starte Auslesen aus dem aktuellen DOM...`); console.log(`[Job ${job.id}] ⚠️ Wartezeit abgelaufen – starte Auslesen aus dem aktuellen DOM...`);
} }
// C. Sortierung auf "Neueste zuerst" (NEWEST_FIRST) umstellen
try {
const sorterLocator = page.locator('#reviewListSorters, [data-testid="reviews-sorter-component"], select[name="reviewListSorters"]').first();
if (await sorterLocator.count() > 0) {
console.log(`[Job ${job.id}] 🔄 Stelle Sortierung auf 'NEWEST_FIRST' (Neueste zuerst) um...`);
await sorterLocator.selectOption('NEWEST_FIRST');
await page.waitForTimeout(2500); // Warten bis Booking die Liste per AJAX neu lädt
} else {
// Fallback via JavaScript Event-Dispatch
const changed = await page.evaluate(() => {
const select = document.querySelector('#reviewListSorters, [data-testid="reviews-sorter-component"], select[name="reviewListSorters"]');
if (select) {
select.value = 'NEWEST_FIRST';
select.dispatchEvent(new Event('change', { bubbles: true }));
return true;
}
return false;
}).catch(() => false);
if (changed) {
console.log(`[Job ${job.id}] 🔄 Sortierung via JS-Event auf 'NEWEST_FIRST' umgestellt.`);
await page.waitForTimeout(2500);
}
}
} catch (e) {
console.log(`[Job ${job.id}] ⚠️ Sortierung konnte nicht angepasst werden:`, e.message);
}
let pageCount = 0; let pageCount = 0;
const seenKeys = new Set(); const seenKeys = new Set();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 KiB

After

Width:  |  Height:  |  Size: 377 KiB