feat: add fallback dispatch event if click fails

This commit is contained in:
RohitR311
2025-01-09 17:44:43 +05:30
parent 2ad0b2ac8c
commit 906b72fbc3

View File

@@ -625,17 +625,30 @@ export default class Interpreter extends EventEmitter {
console.log("Updated selectors:", availableSelectors); console.log("Updated selectors:", availableSelectors);
try { try {
// First try with regular click
await Promise.all([ await Promise.all([
nextButton.click(), nextButton.click(),
page.waitForNavigation({ waitUntil: 'networkidle' }) page.waitForNavigation({ waitUntil: 'networkidle' })
]); ]);
await page.waitForTimeout(1000); await page.waitForTimeout(1000);
} catch (navigationError) { } catch (clickError) {
console.log(`Navigation failed with selector ${workingSelector}:`, navigationError); console.log('Regular click failed, trying dispatchEvent:', clickError);
availableSelectors.shift();
console.log("Updated selectors:", availableSelectors); try {
continue // 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; break;
case 'clickLoadMore': case 'clickLoadMore':