Question: First, I want to **use some addons** while selenium controlling my firefox.

So, i tried load **default profile** of firefox in selenium code.

My code:

```
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile

profile_path = r'C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\y1uqp5mi.default'
default_profile = FirefoxProfile(profile_path)

driver = webdriver.Firefox(service=service, options=options, firefox_profile=default_profile)

```

But, when i start the code, a **DeprecationWarning** happened: `firefox_profile has been deprecated, please pass in an Options object`

I search a lot and i don't think it's a difficult problem, but sadly i can't solve this problem finally, maybe my bad english encumber me... ...

Answer: 
This error message...

```
firefox_profile has been deprecated, please pass in an Options object

```

...implies that `FirefoxProfile()` have been *Deprecated* and with [selenium4](/questions/tagged/selenium4 "show questions tagged 'selenium4'") to use a *custom profile* you have to use an instance of `Options`.

---

This *DeprecationWarning* was inline with the following *CHANGELOGS*:

* [*Selenium 4 beta 1*](https://github.com/SeleniumHQ/selenium/blob/d7ae19b04be2fca96e577c8c34184d03ad0dda8a/py/CHANGES#L118)

	+ *Deprecate all but `Options` and `Service` arguments in driver instantiation. (#9125,#9128)*
* [*Selenium 4 beta 2*](https://github.com/SeleniumHQ/selenium/blob/d7ae19b04be2fca96e577c8c34184d03ad0dda8a/py/CHANGES#L104)

	+ *Deprecate using a Firefox profile in Options*
* [*Selenium 4 Beta 3*](https://github.com/SeleniumHQ/selenium/blob/d7ae19b04be2fca96e577c8c34184d03ad0dda8a/py/CHANGES#L84)

	+ *Only give deprecation warning if Profile is being used in options*

---

All the configurations which was earlier set through `profile.set_preference()` now can be set through **`options.set_preference()`** as follows:

```
from selenium.webdriver import Firefox
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options

profile_path = r'C:\Users\Admin\AppData\Roaming\Mozilla\Firefox\Profiles\s8543x41.default-release'
options=Options()
options.set_preference('profile', profile_path)
options.set_preference('network.proxy.type', 1)
options.set_preference('network.proxy.socks', '127.0.0.1')
options.set_preference('network.proxy.socks_port', 9050)
options.set_preference('network.proxy.socks_remote_dns', False)
service = Service('C:\\BrowserDrivers\\geckodriver.exe')
driver = Firefox(service=service, options=options)
driver.get("https://www.google.com")
driver.quit()

```

---

tl; dr
------

[Setting a custom profile](https://www.selenium.dev/documentation/webdriver/capabilities/driver_specific_capabilities/#setting-a-custom-profile)
I tried this

```
from selenium.webdriver.firefox.options import Options

profile_path = r'C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\y1uqp5mi.default'
options=Options()
options.set_preference('profile', profile_path)
driver = Firefox(options=options)

```