From eb003f7a2f6d23dbb9481e4ebde9ea25cb47b8ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Magnus=20M=C3=BCller?= <67061560+MagMueller@users.noreply.github.com> Date: Sun, 10 Aug 2025 10:33:41 -0700 Subject: [PATCH] Wait for page in extract_structured_data --- browser_use/controller/service.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/browser_use/controller/service.py b/browser_use/controller/service.py index 01fbc7ac7..23c6faaae 100644 --- a/browser_use/controller/service.py +++ b/browser_use/controller/service.py @@ -389,9 +389,16 @@ class Controller(Generic[Context]): page_extraction_llm: BaseChatModel, file_system: FileSystem, ): - loop = asyncio.get_event_loop() cdp_session = await browser_session.get_or_create_cdp_session() + # Wait for the page to be ready (same pattern used in DOM service) + try: + ready_state = await cdp_session.cdp_client.send.Runtime.evaluate( + params={'expression': 'document.readyState'}, session_id=cdp_session.session_id + ) + except Exception: + pass # Page might not be ready yet + try: # Get the HTML content body_id = await cdp_session.cdp_client.send.DOM.getDocument(session_id=cdp_session.session_id)