@@ -124,8 +124,9 @@ def _add_chrome_disable_csp_extension(chrome_options):
124
124
125
125
126
126
def _set_chrome_options (
127
- downloads_path , headless , proxy_string , proxy_auth ,
128
- proxy_user , proxy_pass , user_agent , disable_csp , enable_sync ,
127
+ downloads_path , headless ,
128
+ proxy_string , proxy_auth , proxy_user , proxy_pass ,
129
+ user_agent , disable_csp , enable_sync , incognito ,
129
130
user_data_dir , extension_zip , extension_dir , servername ,
130
131
mobile_emulator , device_width , device_height , device_pixel_ratio ):
131
132
chrome_options = webdriver .ChromeOptions ()
@@ -164,6 +165,8 @@ def _set_chrome_options(
164
165
chrome_options .add_experimental_option (
165
166
"excludeSwitches" , ["disable-sync" ])
166
167
chrome_options .add_argument ("--enable-sync" )
168
+ if incognito :
169
+ chrome_options .add_argument ("--incognito" )
167
170
if user_data_dir :
168
171
abs_path = os .path .abspath (user_data_dir )
169
172
chrome_options .add_argument ("user-data-dir=%s" % abs_path )
@@ -323,7 +326,7 @@ def validate_proxy_string(proxy_string):
323
326
def get_driver (browser_name , headless = False , use_grid = False ,
324
327
servername = 'localhost' , port = 4444 , proxy_string = None ,
325
328
user_agent = None , cap_file = None , disable_csp = None ,
326
- enable_sync = None , user_data_dir = None ,
329
+ enable_sync = None , incognito = None , user_data_dir = None ,
327
330
extension_zip = None , extension_dir = None , mobile_emulator = False ,
328
331
device_width = None , device_height = None , device_pixel_ratio = None ):
329
332
proxy_auth = False
@@ -358,22 +361,22 @@ def get_driver(browser_name, headless=False, use_grid=False,
358
361
return get_remote_driver (
359
362
browser_name , headless , servername , port ,
360
363
proxy_string , proxy_auth , proxy_user , proxy_pass , user_agent ,
361
- cap_file , disable_csp , enable_sync , user_data_dir ,
364
+ cap_file , disable_csp , enable_sync , incognito , user_data_dir ,
362
365
extension_zip , extension_dir , mobile_emulator ,
363
366
device_width , device_height , device_pixel_ratio )
364
367
else :
365
368
return get_local_driver (
366
369
browser_name , headless , servername ,
367
370
proxy_string , proxy_auth , proxy_user , proxy_pass , user_agent ,
368
- disable_csp , enable_sync , user_data_dir ,
371
+ disable_csp , enable_sync , incognito , user_data_dir ,
369
372
extension_zip , extension_dir , mobile_emulator ,
370
373
device_width , device_height , device_pixel_ratio )
371
374
372
375
373
376
def get_remote_driver (
374
377
browser_name , headless , servername , port , proxy_string , proxy_auth ,
375
378
proxy_user , proxy_pass , user_agent , cap_file , disable_csp ,
376
- enable_sync , user_data_dir , extension_zip , extension_dir ,
379
+ enable_sync , incognito , user_data_dir , extension_zip , extension_dir ,
377
380
mobile_emulator , device_width , device_height , device_pixel_ratio ):
378
381
downloads_path = download_helper .get_downloads_folder ()
379
382
download_helper .reset_downloads_folder ()
@@ -383,8 +386,9 @@ def get_remote_driver(
383
386
desired_caps = capabilities_parser .get_desired_capabilities (cap_file )
384
387
if browser_name == constants .Browser .GOOGLE_CHROME :
385
388
chrome_options = _set_chrome_options (
386
- downloads_path , headless , proxy_string , proxy_auth ,
387
- proxy_user , proxy_pass , user_agent , disable_csp , enable_sync ,
389
+ downloads_path , headless ,
390
+ proxy_string , proxy_auth , proxy_user , proxy_pass ,
391
+ user_agent , disable_csp , enable_sync , incognito ,
388
392
user_data_dir , extension_zip , extension_dir , servername ,
389
393
mobile_emulator , device_width , device_height , device_pixel_ratio )
390
394
capabilities = chrome_options .to_capabilities ()
@@ -495,7 +499,7 @@ def get_remote_driver(
495
499
def get_local_driver (
496
500
browser_name , headless , servername ,
497
501
proxy_string , proxy_auth , proxy_user , proxy_pass , user_agent ,
498
- disable_csp , enable_sync , user_data_dir ,
502
+ disable_csp , enable_sync , incognito , user_data_dir ,
499
503
extension_zip , extension_dir ,
500
504
mobile_emulator , device_width , device_height , device_pixel_ratio ):
501
505
'''
@@ -587,8 +591,8 @@ def get_local_driver(
587
591
# The new Microsoft Edge browser is based on Chromium
588
592
chrome_options = _set_chrome_options (
589
593
downloads_path , headless ,
590
- proxy_string , proxy_auth , proxy_user , proxy_pass ,
591
- user_agent , disable_csp , enable_sync , user_data_dir ,
594
+ proxy_string , proxy_auth , proxy_user , proxy_pass , user_agent ,
595
+ disable_csp , enable_sync , incognito , user_data_dir ,
592
596
extension_zip , extension_dir , servername , mobile_emulator ,
593
597
device_width , device_height , device_pixel_ratio )
594
598
return webdriver .Chrome (executable_path = LOCAL_EDGEDRIVER ,
@@ -616,8 +620,8 @@ def get_local_driver(
616
620
try :
617
621
chrome_options = _set_chrome_options (
618
622
downloads_path , headless ,
619
- proxy_string , proxy_auth , proxy_user , proxy_pass ,
620
- user_agent , disable_csp , enable_sync , user_data_dir ,
623
+ proxy_string , proxy_auth , proxy_user , proxy_pass , user_agent ,
624
+ disable_csp , enable_sync , incognito , user_data_dir ,
621
625
extension_zip , extension_dir , servername , mobile_emulator ,
622
626
device_width , device_height , device_pixel_ratio )
623
627
if LOCAL_CHROMEDRIVER and os .path .exists (LOCAL_CHROMEDRIVER ):
0 commit comments