Skip to content

Commit 48e0648

Browse files
committed
Make "patch_driver" an option in UC Mode
1 parent bc37544 commit 48e0648

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

seleniumbase/undetected/__init__.py

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ def __init__(
5656
enable_cdp_events=False,
5757
log_level=0,
5858
headless=False,
59+
patch_driver=True,
5960
version_main=None,
6061
patcher_force_close=False,
6162
suppress_welcome=True,
@@ -98,10 +99,12 @@ def __init__(
9899
log_level: (default: adapts to python global log level)
99100
100101
headless: (default: False)
101-
(Can also be specified in the options instance.)
102-
Specify whether you want to use the browser in headless mode.
102+
Use headless mode. (Can also be specified with ChromeOptions.)
103103
Warning: this lowers undetectability and is not fully supported.
104104
105+
patch_driver: (default: True)
106+
Patches uc_driver to be undetectable if not already patched.
107+
105108
version_main: (default: None)
106109
Overrides the browser version for older versions of Chrome.
107110
Eg: version_main=96
@@ -119,13 +122,15 @@ def __init__(
119122
Subprocess chromedriver/python: Don't make Chrome a parent process.
120123
"""
121124
self.debug = debug
122-
patcher = Patcher(
123-
executable_path=driver_executable_path,
124-
force=patcher_force_close,
125-
version_main=version_main,
126-
)
127-
patcher.auto()
128-
self.patcher = patcher
125+
self.patcher = None
126+
if patch_driver:
127+
patcher = Patcher(
128+
executable_path=driver_executable_path,
129+
force=patcher_force_close,
130+
version_main=version_main,
131+
)
132+
patcher.auto()
133+
self.patcher = patcher
129134
if not options:
130135
options = ChromeOptions()
131136
try:
@@ -266,10 +271,17 @@ def __init__(
266271
close_fds=IS_POSIX,
267272
)
268273
self.browser_pid = browser.pid
269-
service_ = selenium.webdriver.chrome.service.Service(
270-
executable_path=patcher.executable_path,
271-
log_path=os.devnull,
272-
)
274+
service_ = None
275+
if patch_driver:
276+
service_ = selenium.webdriver.chrome.service.Service(
277+
executable_path=patcher.executable_path,
278+
log_path=os.devnull,
279+
)
280+
else:
281+
service_ = selenium.webdriver.chrome.service.Service(
282+
executable_path=driver_executable_path,
283+
log_path=os.devnull,
284+
)
273285
super(Chrome, self).__init__(
274286
port=port,
275287
options=options,

0 commit comments

Comments
 (0)