fix(browser): Enforce correct viewport aspect ratio for browser agent

Alessandro committed Aug 29, 2025 at 22:52 UTC 9013e4779184249ec1e5823af36fa51c7be0b27e
1 file changed +18
python/tools/browser_agent.py
+18
@@ -56,6 +56,7 @@ class State:
56 maximum_wait_page_load_time=10.0,
57 screen={"width": 1024, "height": 2048},
58 viewport={"width": 1024, "height": 2048},
59 + no_viewport=False,
60 args=["--headless=new"],
61 # Use a unique user data directory to avoid conflicts
62 user_data_dir=str(
@@ -72,6 +73,23 @@ class State:
73 await self.browser_session.start() if self.browser_session else None
74 # self.override_hooks()
75
76 + # --------------------------------------------------------------------------
77 + # Patch to enforce vertical viewport size
78 + # --------------------------------------------------------------------------
79 + # Browser-use auto-configuration overrides viewport settings, causing wrong
80 + # aspect ratio. We fix this by directly setting viewport size after startup.
81 + # --------------------------------------------------------------------------
82 +
83 + if self.browser_session:
84 + try:
85 + page = await self.browser_session.get_current_page()
86 + if page:
87 + await page.set_viewport_size({"width": 1024, "height": 2048})
88 + except Exception as e:
89 + PrintStyle().warning(f"Could not force set viewport size: {e}")
90 +
91 + # --------------------------------------------------------------------------
92 +
93 # Add init script to the browser session
94 if self.browser_session and self.browser_session.browser_context:
95 js_override = files.get_abs_path("lib/browser/init_override.js")