diff --git a/skyvern/core/script_generations/skyvern_page.py b/skyvern/core/script_generations/skyvern_page.py index 023dbf81..79231cbe 100644 --- a/skyvern/core/script_generations/skyvern_page.py +++ b/skyvern/core/script_generations/skyvern_page.py @@ -173,8 +173,8 @@ class SkyvernPage: return decorator - async def goto(self, url: str) -> None: - await self.page.goto(url) + async def goto(self, url: str, timeout: float = settings.BROWSER_LOADING_TIMEOUT_MS) -> None: + await self.page.goto(url, timeout=timeout) async def _create_action_before_execution( self, @@ -445,7 +445,8 @@ class SkyvernPage: @action_wrap(ActionType.VERIFICATION_CODE) async def verification_code( self, xpath: str, intention: str | None = None, data: str | dict[str, Any] | None = None - ) -> None: ... + ) -> None: + return @action_wrap(ActionType.SCROLL) async def scroll( diff --git a/skyvern/services/script_service.py b/skyvern/services/script_service.py index 6297f739..03d138b6 100644 --- a/skyvern/services/script_service.py +++ b/skyvern/services/script_service.py @@ -599,6 +599,7 @@ async def run_task( ) except Exception as e: + LOG.exception("Failed to run task block. Falling back to AI run.") await _fallback_to_ai_run( cache_key=cache_key, prompt=prompt, @@ -656,6 +657,7 @@ async def download( ) except Exception as e: + LOG.exception("Failed to run download block. Falling back to AI run.") await _fallback_to_ai_run( cache_key=cache_key, prompt=prompt, @@ -713,6 +715,7 @@ async def action( ) except Exception as e: + LOG.exception("Failed to run action block. Falling back to AI run.") await _fallback_to_ai_run( cache_key=cache_key, prompt=prompt, @@ -769,6 +772,7 @@ async def login( ) except Exception as e: + LOG.exception("Failed to run login block. Falling back to AI run.") await _fallback_to_ai_run( cache_key=cache_key, prompt=prompt, @@ -941,8 +945,7 @@ async def generate_text( ) new_text = json_response.get("answer", new_text) except Exception: - # If anything goes wrong, fall back to the original text - pass + LOG.exception("Failed to generate text for script") return new_text