From 906b72fbc3d0cdac174fac6e05e847630ed21c75 Mon Sep 17 00:00:00 2001 From: RohitR311 Date: Thu, 9 Jan 2025 17:44:43 +0530 Subject: [PATCH] feat: add fallback dispatch event if click fails --- maxun-core/src/interpret.ts | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/maxun-core/src/interpret.ts b/maxun-core/src/interpret.ts index eb0021a7..09b3d93a 100644 --- a/maxun-core/src/interpret.ts +++ b/maxun-core/src/interpret.ts @@ -625,17 +625,30 @@ export default class Interpreter extends EventEmitter { console.log("Updated selectors:", availableSelectors); try { + // First try with regular click await Promise.all([ nextButton.click(), page.waitForNavigation({ waitUntil: 'networkidle' }) ]); - + await page.waitForTimeout(1000); - } catch (navigationError) { - console.log(`Navigation failed with selector ${workingSelector}:`, navigationError); - availableSelectors.shift(); - console.log("Updated selectors:", availableSelectors); - continue + } catch (clickError) { + console.log('Regular click failed, trying dispatchEvent:', clickError); + + try { + // Fallback to dispatchEvent + await Promise.all([ + nextButton.dispatchEvent('click'), + page.waitForNavigation({ waitUntil: 'networkidle' }) + ]); + + await page.waitForTimeout(1000); + } catch (navigationError) { + console.log(`Navigation failed with selector ${workingSelector}:`, navigationError); + availableSelectors.shift(); + console.log("Updated selectors:", availableSelectors); + continue; + } } break; case 'clickLoadMore':