@@ -56,6 +56,7 @@ def __init__(
56
56
enable_cdp_events = False ,
57
57
log_level = 0 ,
58
58
headless = False ,
59
+ patch_driver = True ,
59
60
version_main = None ,
60
61
patcher_force_close = False ,
61
62
suppress_welcome = True ,
@@ -98,10 +99,12 @@ def __init__(
98
99
log_level: (default: adapts to python global log level)
99
100
100
101
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.)
103
103
Warning: this lowers undetectability and is not fully supported.
104
104
105
+ patch_driver: (default: True)
106
+ Patches uc_driver to be undetectable if not already patched.
107
+
105
108
version_main: (default: None)
106
109
Overrides the browser version for older versions of Chrome.
107
110
Eg: version_main=96
@@ -119,13 +122,15 @@ def __init__(
119
122
Subprocess chromedriver/python: Don't make Chrome a parent process.
120
123
"""
121
124
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
129
134
if not options :
130
135
options = ChromeOptions ()
131
136
try :
@@ -266,10 +271,17 @@ def __init__(
266
271
close_fds = IS_POSIX ,
267
272
)
268
273
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
+ )
273
285
super (Chrome , self ).__init__ (
274
286
port = port ,
275
287
options = options ,
0 commit comments