@@ -2444,13 +2444,34 @@ def get_local_driver(
2444
2444
)
2445
2445
return driver
2446
2446
elif browser_name == constants .Browser .SAFARI :
2447
+ from selenium .webdriver .safari .options import Options as SafariOptions
2448
+
2447
2449
arg_join = " " .join (sys .argv )
2448
2450
if ("-n" in sys .argv ) or (" -n=" in arg_join ) or (arg_join == "-c" ):
2449
2451
# Skip if multithreaded
2450
2452
raise Exception ("Can't run Safari tests in multithreaded mode!" )
2451
2453
warnings .simplefilter ("ignore" , category = DeprecationWarning )
2452
2454
service = SafariService (quiet = False )
2453
- return webdriver .safari .webdriver .WebDriver (service = service )
2455
+ options = SafariOptions ()
2456
+ if (
2457
+ selenium4_or_newer
2458
+ and page_load_strategy
2459
+ and page_load_strategy .lower () in ["eager" , "none" ]
2460
+ ):
2461
+ # Only change it if not "normal", which is the default.
2462
+ options .page_load_strategy = page_load_strategy .lower ()
2463
+ elif (
2464
+ selenium4_or_newer
2465
+ and not page_load_strategy
2466
+ and hasattr (settings , "PAGE_LOAD_STRATEGY" )
2467
+ and settings .PAGE_LOAD_STRATEGY
2468
+ and settings .PAGE_LOAD_STRATEGY .lower () in ["eager" , "none" ]
2469
+ ):
2470
+ # Only change it if not "normal", which is the default.
2471
+ options .page_load_strategy = settings .PAGE_LOAD_STRATEGY .lower ()
2472
+ return webdriver .safari .webdriver .WebDriver (
2473
+ service = service , options = options
2474
+ )
2454
2475
elif browser_name == constants .Browser .OPERA :
2455
2476
try :
2456
2477
if LOCAL_OPERADRIVER and os .path .exists (LOCAL_OPERADRIVER ):
0 commit comments