iameclyps0 commited on
Commit
a41a5c1
·
1 Parent(s): e3fdbd8

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

Browse files
Files changed (1) hide show
  1. python/tools/browser_agent.py +18 -0
python/tools/browser_agent.py CHANGED
@@ -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
  args=["--headless=new"],
60
  # Use a unique user data directory to avoid conflicts
61
  user_data_dir=str(
@@ -72,6 +73,23 @@ class State:
72
  await self.browser_session.start() if self.browser_session else None
73
  # self.override_hooks()
74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  # Add init script to the browser session
76
  if self.browser_session and self.browser_session.browser_context:
77
  js_override = files.get_abs_path("lib/browser/init_override.js")
 
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(
 
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")