@@ -124,8 +124,9 @@ def _add_chrome_disable_csp_extension(chrome_options):
124124
125125
126126def _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 ,
129130 user_data_dir , extension_zip , extension_dir , servername ,
130131 mobile_emulator , device_width , device_height , device_pixel_ratio ):
131132 chrome_options = webdriver .ChromeOptions ()
@@ -164,6 +165,8 @@ def _set_chrome_options(
164165 chrome_options .add_experimental_option (
165166 "excludeSwitches" , ["disable-sync" ])
166167 chrome_options .add_argument ("--enable-sync" )
168+ if incognito :
169+ chrome_options .add_argument ("--incognito" )
167170 if user_data_dir :
168171 abs_path = os .path .abspath (user_data_dir )
169172 chrome_options .add_argument ("user-data-dir=%s" % abs_path )
@@ -323,7 +326,7 @@ def validate_proxy_string(proxy_string):
323326def get_driver (browser_name , headless = False , use_grid = False ,
324327 servername = 'localhost' , port = 4444 , proxy_string = None ,
325328 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 ,
327330 extension_zip = None , extension_dir = None , mobile_emulator = False ,
328331 device_width = None , device_height = None , device_pixel_ratio = None ):
329332 proxy_auth = False
@@ -358,22 +361,22 @@ def get_driver(browser_name, headless=False, use_grid=False,
358361 return get_remote_driver (
359362 browser_name , headless , servername , port ,
360363 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 ,
362365 extension_zip , extension_dir , mobile_emulator ,
363366 device_width , device_height , device_pixel_ratio )
364367 else :
365368 return get_local_driver (
366369 browser_name , headless , servername ,
367370 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 ,
369372 extension_zip , extension_dir , mobile_emulator ,
370373 device_width , device_height , device_pixel_ratio )
371374
372375
373376def get_remote_driver (
374377 browser_name , headless , servername , port , proxy_string , proxy_auth ,
375378 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 ,
377380 mobile_emulator , device_width , device_height , device_pixel_ratio ):
378381 downloads_path = download_helper .get_downloads_folder ()
379382 download_helper .reset_downloads_folder ()
@@ -383,8 +386,9 @@ def get_remote_driver(
383386 desired_caps = capabilities_parser .get_desired_capabilities (cap_file )
384387 if browser_name == constants .Browser .GOOGLE_CHROME :
385388 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 ,
388392 user_data_dir , extension_zip , extension_dir , servername ,
389393 mobile_emulator , device_width , device_height , device_pixel_ratio )
390394 capabilities = chrome_options .to_capabilities ()
@@ -495,7 +499,7 @@ def get_remote_driver(
495499def get_local_driver (
496500 browser_name , headless , servername ,
497501 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 ,
499503 extension_zip , extension_dir ,
500504 mobile_emulator , device_width , device_height , device_pixel_ratio ):
501505 '''
@@ -587,8 +591,8 @@ def get_local_driver(
587591 # The new Microsoft Edge browser is based on Chromium
588592 chrome_options = _set_chrome_options (
589593 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 ,
592596 extension_zip , extension_dir , servername , mobile_emulator ,
593597 device_width , device_height , device_pixel_ratio )
594598 return webdriver .Chrome (executable_path = LOCAL_EDGEDRIVER ,
@@ -616,8 +620,8 @@ def get_local_driver(
616620 try :
617621 chrome_options = _set_chrome_options (
618622 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 ,
621625 extension_zip , extension_dir , servername , mobile_emulator ,
622626 device_width , device_height , device_pixel_ratio )
623627 if LOCAL_CHROMEDRIVER and os .path .exists (LOCAL_CHROMEDRIVER ):
0 commit comments