Skip to content

Commit 7799a5e

Browse files
fix: browser_data_dir (#3097)
Co-authored-by: Wendong-Fan <133094783+Wendong-Fan@users.noreply.github.com>
1 parent 484262f commit 7799a5e

File tree

10 files changed

+842
-199
lines changed

10 files changed

+842
-199
lines changed

camel/toolkits/hybrid_browser_toolkit/config_loader.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ class BrowserConfig:
4343
# CDP connection configuration
4444
connect_over_cdp: bool = False
4545
cdp_url: Optional[str] = None
46+
cdp_keep_current_page: bool = False
4647

4748
# Full visual mode configuration
4849
full_visual_mode: bool = False
@@ -110,6 +111,8 @@ def from_kwargs(cls, **kwargs) -> 'ConfigLoader':
110111
browser_kwargs["connect_over_cdp"] = value
111112
elif key == "cdpUrl":
112113
browser_kwargs["cdp_url"] = value
114+
elif key == "cdpKeepCurrentPage":
115+
browser_kwargs["cdp_keep_current_page"] = value
113116
elif key == "consoleLogLimit":
114117
browser_kwargs["console_log_limit"] = value
115118
elif key == "cacheDir":
@@ -153,6 +156,7 @@ def to_ws_config(self) -> Dict[str, Any]:
153156
"viewport_limit": self.browser_config.viewport_limit,
154157
"connectOverCdp": self.browser_config.connect_over_cdp,
155158
"cdpUrl": self.browser_config.cdp_url,
159+
"cdpKeepCurrentPage": self.browser_config.cdp_keep_current_page,
156160
"fullVisualMode": self.browser_config.full_visual_mode,
157161
}
158162

camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ def __new__(
3535
user_data_dir: Optional[str] = None,
3636
stealth: bool = False,
3737
web_agent_model: Optional[BaseModelBackend] = None,
38-
cache_dir: str = "tmp/",
38+
cache_dir: Optional[str] = None,
3939
enabled_tools: Optional[List[str]] = None,
4040
browser_log_to_file: bool = False,
4141
log_dir: Optional[str] = None,
4242
session_id: Optional[str] = None,
43-
default_start_url: str = "https://google.com/",
43+
default_start_url: Optional[str] = None,
4444
default_timeout: Optional[int] = None,
4545
short_timeout: Optional[int] = None,
4646
navigation_timeout: Optional[int] = None,
@@ -51,6 +51,7 @@ def __new__(
5151
viewport_limit: bool = False,
5252
connect_over_cdp: bool = False,
5353
cdp_url: Optional[str] = None,
54+
cdp_keep_current_page: bool = False,
5455
full_visual_mode: bool = False,
5556
**kwargs: Any,
5657
) -> Any:
@@ -102,6 +103,9 @@ def __new__(
102103
cdp_url (Optional[str]): WebSocket endpoint URL for CDP
103104
connection. Required when connect_over_cdp is True.
104105
Defaults to None. (Only supported in TypeScript mode)
106+
cdp_keep_current_page (bool): When True and using CDP mode,
107+
won't create new pages but use the existing one. Defaults to False.
108+
(Only supported in TypeScript mode)
105109
full_visual_mode (bool): When True, browser actions like click,
106110
browser_open, visit_page, etc. will return 'full visual mode'
107111
as snapshot instead of actual page content. The
@@ -139,6 +143,7 @@ def __new__(
139143
viewport_limit=viewport_limit,
140144
connect_over_cdp=connect_over_cdp,
141145
cdp_url=cdp_url,
146+
cdp_keep_current_page=cdp_keep_current_page,
142147
full_visual_mode=full_visual_mode,
143148
**kwargs,
144149
)

0 commit comments

Comments
 (0)