mirror of
https://github.com/browser-use/browser-use.git
synced 2026-10-02 04:04:36 +08:00
fix(browser): preserve default Chrome arg order
This commit is contained in:
@@ -907,7 +907,8 @@ class BrowserProfile(BrowserConnectArgs, BrowserLaunchPersistentContextArgs, Bro
|
||||
"""Get the list of all Chrome CLI launch args for this profile (compiled from defaults, user-provided, and system-specific)."""
|
||||
|
||||
if isinstance(self.ignore_default_args, list):
|
||||
default_args = set(CHROME_DEFAULT_ARGS) - set(self.ignore_default_args)
|
||||
ignored_default_args = set(self.ignore_default_args)
|
||||
default_args = [arg for arg in CHROME_DEFAULT_ARGS if arg not in ignored_default_args]
|
||||
elif self.ignore_default_args is True:
|
||||
default_args = []
|
||||
elif not self.ignore_default_args:
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
from browser_use.browser.profile import CHROME_DEFAULT_ARGS, BrowserProfile
|
||||
|
||||
|
||||
def test_get_args_keeps_default_order_when_ignoring_default_args(tmp_path):
|
||||
profile = BrowserProfile(
|
||||
user_data_dir=tmp_path,
|
||||
ignore_default_args=['--disable-popup-blocking', '--no-default-browser-check'],
|
||||
enable_default_extensions=False,
|
||||
)
|
||||
|
||||
args = profile.get_args()
|
||||
|
||||
expected_defaults = [
|
||||
arg for arg in CHROME_DEFAULT_ARGS if arg not in {'--disable-popup-blocking', '--no-default-browser-check'}
|
||||
]
|
||||
actual_defaults = [arg for arg in args if arg in CHROME_DEFAULT_ARGS]
|
||||
|
||||
assert actual_defaults == expected_defaults
|
||||
assert '--disable-popup-blocking' not in args
|
||||
assert '--no-default-browser-check' not in args
|
||||
|
||||
|
||||
def test_get_args_keeps_default_order_with_default_ignored_args(tmp_path):
|
||||
profile = BrowserProfile(user_data_dir=tmp_path, enable_default_extensions=False)
|
||||
|
||||
args = profile.get_args()
|
||||
|
||||
ignored_default_args = profile.ignore_default_args if isinstance(profile.ignore_default_args, list) else []
|
||||
expected_defaults = [arg for arg in CHROME_DEFAULT_ARGS if arg not in ignored_default_args]
|
||||
actual_defaults = [arg for arg in args if arg in CHROME_DEFAULT_ARGS]
|
||||
|
||||
assert actual_defaults == expected_defaults
|
||||
Reference in New Issue
Block a user