diff --git a/skyvern/webeye/browser_factory.py b/skyvern/webeye/browser_factory.py index 3de70e3627..9b66b25324 100644 --- a/skyvern/webeye/browser_factory.py +++ b/skyvern/webeye/browser_factory.py @@ -404,6 +404,9 @@ async def check_and_fix_state( if url: await self.navigate_to_url(page=page, url=url) + async def update_attributes(self, **kwargs): + pass + async def navigate_to_url(self, page: Page, url: str, retry_times: int = NAVIGATION_MAX_RETRY_TIME) -> None: navigation_error: Exception = FailedToNavigateToUrl(url=url, error_message="") for retry_time in range(retry_times): diff --git a/skyvern/webeye/browser_manager.py b/skyvern/webeye/browser_manager.py index 76bbccf6d9..155ca01f90 100644 --- a/skyvern/webeye/browser_manager.py +++ b/skyvern/webeye/browser_manager.py @@ -102,6 +102,12 @@ async def get_or_create_for_workflow_run(self, workflow_run: WorkflowRun, url: s browser_state = app.PERSISTENT_SESSIONS_MANAGER.get_session(context.organization_id, context.browser_session_id) if browser_state is None: LOG.warning("Browser state not found in persistent sessions manager", browser_session_id=context.browser_session_id) + else: + page = await browser_state.get_working_page() + if page: + await browser_state.navigate_to_url(page=page, url=url) + else: + LOG.warning("Browser state has no page", workflow_run_id=workflow_run.workflow_run_id) if browser_state is None: LOG.info(