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")