Skip to content

Commit f7e7668

Browse files
committed
Optimize proxy mode for undetectable-chromedriver mode
1 parent 23c2a75 commit f7e7668

File tree

4 files changed

+15
-12
lines changed

4 files changed

+15
-12
lines changed

seleniumbase/core/browser_launcher.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -597,9 +597,13 @@ def _set_chrome_options(
597597
chrome_options.add_argument("--proxy-pac-url=%s" % proxy_pac_url)
598598
if browser_name != constants.Browser.OPERA:
599599
# Opera Chromium doesn't support these switches
600-
if not is_using_uc(undetectable, browser_name) or not enable_ws:
600+
if (
601+
not is_using_uc(undetectable, browser_name)
602+
or not enable_ws
603+
or proxy_string
604+
):
601605
chrome_options.add_argument("--ignore-certificate-errors")
602-
if not enable_ws:
606+
if not enable_ws or not is_using_uc(undetectable, browser_name):
603607
chrome_options.add_argument("--disable-web-security")
604608
if "linux" in PLATFORM or not is_using_uc(undetectable, browser_name):
605609
chrome_options.add_argument("--no-sandbox")

seleniumbase/plugins/driver_manager.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ def Driver(
4646
disable_js=None, # Disable JavaScript on websites. Pages might break!
4747
disable_csp=None, # Disable the Content Security Policy of websites.
4848
enable_ws=None, # Enable Web Security on Chromium-based browsers.
49+
disable_ws=None, # Reverse of "enable_ws". (None and False are different)
4950
enable_sync=None, # Enable "Chrome Sync" on websites.
5051
use_auto_ext=None, # Use Chrome's automation extension.
5152
undetectable=None, # Use undetected-chromedriver to evade bot-detection.
@@ -243,12 +244,9 @@ def Driver(
243244
headless2 = False # Only for Chromium browsers
244245
if disable_csp is None:
245246
disable_csp = False
246-
if enable_ws is None:
247-
enable_ws = False
248-
if enable_sync is None:
249-
enable_sync = False
250247
if (
251-
enable_ws is None
248+
(enable_ws is None and disable_ws is None)
249+
or (disable_ws is not None and not disable_ws)
252250
or (enable_ws is not None and enable_ws)
253251
):
254252
enable_ws = True

seleniumbase/plugins/sb_manager.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -383,10 +383,6 @@ def SB(
383383
variables = {}
384384
if disable_csp is None:
385385
disable_csp = False
386-
if enable_ws is None:
387-
enable_ws = False
388-
if enable_sync is None:
389-
enable_sync = False
390386
if (
391387
(enable_ws is None and disable_ws is None)
392388
or (disable_ws is not None and not disable_ws)

seleniumbase/undetected/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,12 @@ def __init__(
213213
self.keep_user_data_dir = keep_user_data_dir
214214
if suppress_welcome:
215215
options.arguments.extend(
216-
["--no-default-browser-check", "--no-first-run"]
216+
[
217+
"--no-default-browser-check",
218+
"--no-first-run",
219+
"--no-service-autorun",
220+
"--password-store=basic",
221+
]
217222
)
218223
if headless or options.headless:
219224
options.headless = True

0 commit comments

Comments
 (0)