Selenium: FirefoxProfile exception Can't load the profile
Solution 1
Update:
Selenium team fixed in latest version. For almost all environments the fix is:
pip install -U selenium
Unclear at which version it was fixed (apparently r13122), but certainly by 2.26.0 (current at time of update) it is fixed.
This error means that _wait_until_connectable is timing out, because for some reason, the code cannot connect to the webdriver extension that has been loaded into the firefox.
I have just reported an error to selenium where I am getting this error because I'm trying to use a proxy and only 2 of the 4 configured changes in the profile have been accepted by firefox, so the proxy isn't configured to talk to the extension. Not sure why this is happening...
https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/2061
Solution 2
I had the same issue after upgrading Ubuntu to 12.04.
The issue was on the package side and has been fixed in the latest version of the library. Just update the selenium library. For almost all Python environments this is:
pip install -U selenium
Solution 3
I faced the same problem with FF 32.0 and Selenium selenium-2.42.1-py2.7.egg. Tried to update selenium, but it is already the latest version. The solution was to downgrade Firefox to version 30. Here is the process:
#Download version 30 for Linux (This is the 64 bit)
wget http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/30.0/linux-x86_64/en-US/firefox-30.0.tar.bz2
tar -xjvf firefox-30.0.tar.bz2
#Remove the old version
sudo rm -rf /opt/firefox*
sudo mv firefox /opt/firefox30.0
#Create a permanent link
sudo ln -sf /opt/firefox30.0/firefox /usr/bin/firefox
This solved all the problems, and this combination works better !
Solution 4
As an extension to Jeff Hoye's answer, a more 'Pythonic' way would be to subclass webdriver.firefox.firefox_profile.FirefoxProfile
as follows:
class CygwinFirefoxProfile(FirefoxProfile):
@property
def path(self):
path = self.profile_dir
# Do stuff to the path as described in Jeff Hoye's answer
return path
Then, to create your driver:
driver = webdriver.Firefox(firefox_profile=CygwinFirefoxProfile())
Solution 5
If pip install -U selenium
doesn't work (it didn't, in my case), try downgrading your Firefox to a previous version.
I had Firefox 49.0 and downgraded to 45.0 to make sure the version is supported by selenium. It worked perfectly then.
Here's a fast way to downgrade to Firefox 45.0:
sudo apt-get install firefox=45.0.2+build1-0ubuntu1
Hope this helps.
sultan
Areas occupied: Full-stack developer, Consulting, Software development, Business solution developer, Project management Frameworks: Django, Android, Vue, React Programming languages: Python, Elixir, Go, JavaScript I'm in LinkedIn
Updated on September 28, 2020Comments
-
sultan over 3 years
Per this previous question I updated Selenium to version 2.0.1 But now I have another error, even when the profile files exist under
/tmp/webdriver-py-profilecopy
:File "/home/sultan/Repository/Django/monitor/app/request.py", line 236, in perform browser = Firefox(profile) File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 46, in __init__ self.binary, timeout), File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 46, in __init__ self.binary.launch_browser(self.profile) File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 44, in launch_browser self._wait_until_connectable() File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 87, in _wait_until_connectable raise WebDriverException("Can't load the profile. Profile Dir : %s" % self.profile.path) selenium.common.exceptions.WebDriverException: Can't load the profile. Profile Dir : /tmp/webdriver-py-profilecopy
What is wrong? How can I resolve this issue?
-
Abhranil Das almost 11 yearsAdding a
sudo
is required if not logged in as root. Anyway, this was a lifesaver! Thanks!! -
Dmitry over 10 yearsDon't know why, but having selenium 2.28.0 I have same issue with FireFox 22.0 and 23.0 on Ubuntu. Only downgrading firefox to 18.0 works fine for me (never checked other versions).
-
tom joy over 10 yearsYes it helps to fix WebDriverException: Message: 'Can\'t load the profile.
-
Kos over 10 years@AbhranilDas You don't need
sudo
if you're using avirtualenv
(which you probably should use). -
Steve Saporta over 9 yearsAt first I was unable to upgrade: pip install -U selenium told me I had the latest version, even though it was 2.25.0. I'm on Ubuntu 14.04. I had to go to the package manager (sudo synaptic) and remove selenium there. Then I had to do sudo pip uninstall selenium followed by sudo pip install selenium. That got me to version 2.42.1.
-
Steve Saporta over 9 yearsEven after I succeeded in installing selenium 2.42.1, the problem persisted. Then I followed user1757247's suggestion to downgrade Firefox to version 30.0, and that solved the problem.
-
pylover about 9 yearsI have the exact same problem with 2.44 and ff35 in windows
-
Alex G.P. about 8 yearsNo, this solution does not works with Firefox 45.0b and latest Selenium (2.5.1)
-
Rachel about 8 years@AlexG.P. I first wrote the answer to this question 4.5 years ago. I suspect that enough time has passed that it might be worth raising a new question. If you do, please include a reference to this question and: a) the Firefox and Selenium versions you gave above; b) your OS; c) your version of pip. I'd guess that your problem might be related to the pip version, because that has changed over the last 5 years.
-
Alex about 8 years@AlexG.P.: Perhaps this is your problem: github.com/SeleniumHQ/selenium/issues/1300 It was my problem when running on a slow computer (Raspberry Pi).
-
Macumbaomuerte over 7 yearsthis fixed my setup!!
-
brkr over 7 yearsHow do I downgrade Firefox on my mac? I using scrapy/selenium on my mactop on 'virtualenv' and having the same error. I think if i downgraded on my mac it would fix it.