From cdfd8b9fcc13c7d32aaaf26beed9fe693ea217c9 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Wed, 13 Aug 2025 22:56:16 -0700 Subject: [PATCH] clear selector map cache after scolling so its recalculated --- browser_use/browser/default_action_watchdog.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/browser_use/browser/default_action_watchdog.py b/browser_use/browser/default_action_watchdog.py index 22a6bd20d..28cfc003a 100644 --- a/browser_use/browser/default_action_watchdog.py +++ b/browser_use/browser/default_action_watchdog.py @@ -173,6 +173,13 @@ class DefaultActionWatchdog(BaseWatchdog): params={'targetId': self.browser_session.agent_focus.target_id} ) + # IMPORTANT: clear the selector map cache even if no navigation has happened! + # it's calculated based on visible elements, and if we don't clear it, it will be wrong + self.browser_session._cached_browser_state_summary = None + self.browser_session._cached_selector_map.clear() + if self.browser_session._dom_watchdog: + self.browser_session._dom_watchdog.clear_cache() + # Log success self.logger.info(f'📜 Scrolled {event.direction} by {event.amount} pixels') return None