Skip to content

Commit 7efb2d8

Browse files
committed
Updated driver_set_pref to work on newer firefox versions
1 parent 9c0c533 commit 7efb2d8

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

internal/firefox.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -261,20 +261,12 @@ def driver_set_pref(self, key, value):
261261
"""Set a Firefox pref at runtime"""
262262
if self.driver is not None:
263263
try:
264-
script = 'const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");'
265-
script += 'Services.prefs.'
266-
if isinstance(value, bool):
267-
script += 'setBoolPref'
268-
elif isinstance(value, (str, unicode)):
269-
script += 'setStringPref'
270-
else:
271-
script += 'setIntPref'
272-
script += '({0}, {1});'.format(json.dumps(key), json.dumps(value))
273-
logging.debug(script)
264+
script = 'const { Preferences } = ChromeUtils.importESModule("resource://gre/modules/Preferences.sys.mjs");'
265+
script += f'Preferences.set({json.dumps(key)}, {json.dumps(value)});'
274266
self.driver.set_context(self.driver.CONTEXT_CHROME)
275267
self.driver.execute_script(script)
276-
except Exception:
277-
logging.exception("Error setting pref")
268+
except Exception as err:
269+
logging.exception("Error setting pref %s => %s: %s", key, value, err)
278270
finally:
279271
self.driver.set_context(self.driver.CONTEXT_CONTENT)
280272

0 commit comments

Comments
 (0)