@@ -501,25 +501,29 @@ def _add_chrome_proxy_extension(
501501 proxy_string ,
502502 proxy_user ,
503503 proxy_pass ,
504+ proxy_bypass_list = None ,
504505 zip_it = True ,
505506 multi_proxy = False ,
506507):
507508 """Implementation of https://stackoverflow.com/a/35293284 for
508509 https://stackoverflow.com/questions/12848327/
509510 (Run Selenium on a proxy server that requires authentication.)"""
510511 args = " " .join (sys .argv )
512+ bypass_list = proxy_bypass_list
511513 if (
512514 not ("-n" in sys .argv or " -n=" in args or args == "-c" )
513515 and not multi_proxy
514516 ):
515517 # Single-threaded
516518 if zip_it :
517- proxy_helper .create_proxy_ext (proxy_string , proxy_user , proxy_pass )
519+ proxy_helper .create_proxy_ext (
520+ proxy_string , proxy_user , proxy_pass , bypass_list
521+ )
518522 proxy_zip = proxy_helper .PROXY_ZIP_PATH
519523 chrome_options .add_extension (proxy_zip )
520524 else :
521525 proxy_helper .create_proxy_ext (
522- proxy_string , proxy_user , proxy_pass , zip_it = False
526+ proxy_string , proxy_user , proxy_pass , bypass_list , zip_it = False
523527 )
524528 proxy_dir_path = proxy_helper .PROXY_DIR_PATH
525529 chrome_options = add_chrome_ext_dir (chrome_options , proxy_dir_path )
@@ -532,7 +536,7 @@ def _add_chrome_proxy_extension(
532536 _set_proxy_filenames ()
533537 if not os .path .exists (proxy_helper .PROXY_ZIP_PATH ):
534538 proxy_helper .create_proxy_ext (
535- proxy_string , proxy_user , proxy_pass
539+ proxy_string , proxy_user , proxy_pass , bypass_list
536540 )
537541 proxy_zip = proxy_helper .PROXY_ZIP_PATH
538542 chrome_options .add_extension (proxy_zip )
@@ -543,7 +547,11 @@ def _add_chrome_proxy_extension(
543547 _set_proxy_filenames ()
544548 if not os .path .exists (proxy_helper .PROXY_DIR_PATH ):
545549 proxy_helper .create_proxy_ext (
546- proxy_string , proxy_user , proxy_pass , False
550+ proxy_string ,
551+ proxy_user ,
552+ proxy_pass ,
553+ bypass_list ,
554+ False ,
547555 )
548556 chrome_options = add_chrome_ext_dir (
549557 chrome_options , proxy_helper .PROXY_DIR_PATH
@@ -843,6 +851,7 @@ def _set_chrome_options(
843851 proxy_string ,
844852 proxy_user ,
845853 proxy_pass ,
854+ proxy_bypass_list ,
846855 zip_it ,
847856 multi_proxy ,
848857 )
@@ -861,6 +870,7 @@ def _set_chrome_options(
861870 None ,
862871 proxy_user ,
863872 proxy_pass ,
873+ proxy_bypass_list ,
864874 zip_it ,
865875 multi_proxy ,
866876 )
@@ -2258,6 +2268,8 @@ def get_local_driver(
22582268 prefs ["enable_do_not_track" ] = True
22592269 if external_pdf :
22602270 prefs ["plugins.always_open_pdf_externally" ] = True
2271+ pdce = "user_experience_metrics.personalization_data_consent_enabled"
2272+ prefs [pdce ] = True # Remove "Personalize your web experience" prompt
22612273 edge_options .add_experimental_option ("prefs" , prefs )
22622274 edge_options .add_argument (
22632275 "--disable-blink-features=AutomationControlled"
@@ -2402,6 +2414,7 @@ def get_local_driver(
24022414 proxy_string ,
24032415 proxy_user ,
24042416 proxy_pass ,
2417+ proxy_bypass_list ,
24052418 zip_it = True ,
24062419 multi_proxy = multi_proxy ,
24072420 )
@@ -2417,6 +2430,7 @@ def get_local_driver(
24172430 None ,
24182431 proxy_user ,
24192432 proxy_pass ,
2433+ proxy_bypass_list ,
24202434 zip_it = True ,
24212435 multi_proxy = multi_proxy ,
24222436 )
0 commit comments