@@ -512,7 +512,7 @@ def _set_firefox_options(
512
512
options .set_preference ("pdfjs.disabled" , True )
513
513
options .set_preference ("app.update.auto" , False )
514
514
options .set_preference ("app.update.enabled" , False )
515
- options .set_preference ("app.update.silent" , False )
515
+ options .set_preference ("app.update.silent" , True )
516
516
options .set_preference ("browser.formfill.enable" , False )
517
517
options .set_preference ("browser.privatebrowsing.autostart" , False )
518
518
options .set_preference ("devtools.errorconsole.enabled" , True )
@@ -524,7 +524,7 @@ def _set_firefox_options(
524
524
options .set_preference ("extensions.systemAddon.update.enabled" , False )
525
525
options .set_preference ("extensions.update.autoUpdateDefault" , False )
526
526
options .set_preference ("extensions.update.enabled" , False )
527
- options .set_preference ("extensions.update.silent" , False )
527
+ options .set_preference ("extensions.update.silent" , True )
528
528
options .set_preference ("datareporting.healthreport.service.enabled" , False )
529
529
options .set_preference ("datareporting.healthreport.uploadEnabled" , False )
530
530
options .set_preference ("datareporting.policy.dataSubmissionEnabled" , False )
@@ -619,12 +619,10 @@ def _set_firefox_options(
619
619
raise Exception (
620
620
'Incorrect formatting for Firefox "pref:value" set!'
621
621
)
622
- f_pref = firefox_pref_item .strip ()
623
622
if needs_conversion :
624
- f_pref_value = firefox_pref_item .strip ()
625
- if f_pref_value .lower == "true" or len (f_pref_value ) == 0 :
623
+ if f_pref_value .lower () == "true" or len (f_pref_value ) == 0 :
626
624
f_pref_value = True
627
- elif f_pref_value .lower == "false" :
625
+ elif f_pref_value .lower () == "false" :
628
626
f_pref_value = False
629
627
elif f_pref_value .isdigit ():
630
628
f_pref_value = int (f_pref_value )
@@ -1433,10 +1431,21 @@ def get_local_driver(
1433
1431
if selenium4 :
1434
1432
service = FirefoxService (
1435
1433
executable_path = LOCAL_GECKODRIVER )
1436
- return webdriver .Firefox (
1437
- service = service ,
1438
- options = firefox_options ,
1439
- )
1434
+ try :
1435
+ return webdriver .Firefox (
1436
+ service = service ,
1437
+ options = firefox_options ,
1438
+ )
1439
+ except Exception as e :
1440
+ if "Process unexpectedly closed" in e .msg :
1441
+ # Firefox probably just auto-updated itself.
1442
+ # Trying again right after that often works.
1443
+ return webdriver .Firefox (
1444
+ service = service ,
1445
+ options = firefox_options ,
1446
+ )
1447
+ else :
1448
+ raise Exception (e .msg ) # Not an obvious fix.
1440
1449
else :
1441
1450
return webdriver .Firefox (
1442
1451
executable_path = LOCAL_GECKODRIVER ,
0 commit comments