Zgodnie z poprzednim pytaniem zaktualizowałem Selenium do wersji 2.0.1 Ale teraz mam inny błąd, nawet jeśli pliki profilu istnieją pod /tmp/webdriver-py-profilecopy
:
Plik „/home/sultan/Repository/Django/monitor/app/request.py”, wiersz 236, w wykonaniu browser = Firefox (profil) Plik „/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py”, wiersz 46, w __init__ self.binary, limit czasu), Plik „/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py”, wiersz 46, w __init__ self.binary.launch_browser (self.profile) Plik „/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py”, wiersz 44, w launch_browser self._wait_until_connectable () Plik „/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py”, wiersz 87, w _wait_until_connectable podnieść WebDriverException ("Nie można załadować profilu. Katalog profilu:% s"% self.profile.path) selenium.common.exceptions.WebDriverException: nie można załadować profilu. Katalog profilu: / tmp / webdriver-py-profilecopy
Co jest nie tak? Jak mogę rozwiązać ten problem?
sudo
jest wymagane, jeśli nie jesteś zalogowany jako root. W każdym razie to było uratowanie życia! Dzięki!!sudo
jeśli używaszvirtualenv
(którego prawdopodobnie powinieneś użyć).Miałem ten sam problem po uaktualnieniu Ubuntu do 12.04.
Problem występował po stronie pakietu i został naprawiony w najnowszej wersji biblioteki. Po prostu zaktualizuj bibliotekę selenu. Dla prawie wszystkich środowisk Python jest to:
źródło
Miałem ten sam problem z FF 32.0 i selenem-2.42.1-py2.7.egg. Próbowałem zaktualizować selen, ale jest to już najnowsza wersja. Rozwiązaniem było obniżenie wersji Firefoksa do wersji 30. Oto proces:
To rozwiązało wszystkie problemy, a ta kombinacja działa lepiej!
źródło
Jako rozszerzenie odpowiedzi Jeffa Hoye'a , bardziej „Pythonic” sposobem byłoby utworzenie podklasy
webdriver.firefox.firefox_profile.FirefoxProfile
w następujący sposób:Następnie, aby utworzyć sterownik:
źródło
Jeśli
pip install -U selenium
nie działa (w moim przypadku nie zadziałało), spróbuj obniżyć przeglądarkę Firefox do poprzedniej wersji.Miałem Firefoksa 49.0 i obniżyłem go do 45.0, aby upewnić się, że wersja jest obsługiwana przez selen. Wtedy działało idealnie.
Oto szybki sposób przejścia na starszą wersję przeglądarki Firefox 45.0:
Mam nadzieję że to pomoże.
źródło
Jeśli używasz webdrivera z cygwin, problem polega na tym, że ścieżka do profilu jest nadal w formacie POSIX, co myli programy Windows. Moje rozwiązanie używa cygpath, aby przekonwertować go na format Windows.
w tym pliku / metodzie: selenium.webdriver.firefox.firefox_binary.launch_browser ():
zastąpić:
z:
Ponieważ Python nie jest nawet zbliżony do mojego podstawowego języka programowania, jeśli ktoś może polecić bardziej Pythonowe podejście, może moglibyśmy wprowadzić je do dystrybucji. Z pewnością przydałby się, gdyby działał w Cygwin od razu po wyjęciu z pudełka.
źródło
Miałem ten sam problem i uważałem, że to niewłaściwa kombinacja selenu / Firefoksa. Okazało się, że moje uprawnienia do .mozilla / folderu były dostępne tylko dla użytkownika root. To załatwiło
chmod 770 ~/.mozilla/
sprawę. Sugerowałbym upewnienie się, że nie jest to problem przed dalszym rozwiązywaniem problemów.źródło
pip install -U selenium
Miałem ten sam problem z
Firefox 34.0.5 (Dec 1, 2014)
uaktualnieniem Selenium z,2.42.1
aby2.44.0
rozwiązać mój problem.Jednak od tamtej pory ponownie widziałem ten problem, myślę, że w wersji 2.44.0, a kolejna aktualizacja go naprawiła. Zastanawiam się więc, czy można to naprawić, po prostu odinstalowując, a następnie ponownie instalując. Jeśli tak, nie jestem pewien, co by to wskazywało na podstawowy problem.
źródło
Używałem selenu 2.53 i przeglądarki Firefox w wersji 55.0. Rozwiązałem ten problem, instalując starszą wersję przeglądarki Firefox (46.0.1), ponieważ selen 2.53 nie będzie działał z przeglądarką Firefox w wersji 47.0 i nowszych.
źródło
To nie jest właściwe rozwiązanie, ale zadziałało dla mnie, jeśli ktoś może poprawić, z przyjemnością się dowiem. Ja po prostu uruchomić mój skrypt jako root:
sudo python myscript.py
. Myślę, że mogę rozwiązać, zmieniając domyślny plik lub katalog profilu, który może działać.źródło