code: def _create_firefox_profile(self):
          
          # Get Firefox profile
          profile_directory = self.config.get_optional('Firefox', 'profile')
          if profile_directory:
              self.logger.debug("Using firefox profile: %s", profile_directory)
  
          # Create Firefox profile
          profile = webdriver.FirefoxProfile(profile_directory=profile_directory)
          profile.native_events_enabled = True
  
          # Add Firefox preferences
          try:
              for pref, pref_value in dict(self.config.items('FirefoxPreferences')).items():
                  self.logger.debug("Added firefox preference: %s = %s", pref, pref_value)
                  profile.set_preference(pref, self._convert_property_type(pref_value))
              profile.update_preferences()
          except NoSectionError:
              pass
  
          # Add Firefox extensions
          try:
              for pref, pref_value in dict(self.config.items('FirefoxExtensions')).items():
                  self.logger.debug("Added firefox extension: %s = %s", pref, pref_value)
                  profile.add_extension(pref_value)
          except NoSectionError:
              pass
  
          return profile
docs: Create and configure a firefox profile
  
          :returns: firefox profile