Zastanawiałem się, czy ktoś ma jakieś pomysły na to, w jaki sposób mogę dowiedzieć się, dlaczego I może się wydawać, że firefox działa poprzez selenowy webdriver. Co się dzieje, gdy biegnę:dlaczego firefox nie uruchamia się pod webmasterem selenu 2 na redhat 5.6
self.driver=webdriver.Firefox()
dostaję pusty dialog na moim pulpicie. Używam wersji Redhat 5.6 i moja wersja selenowa to 2.21.3. I debugowania kodu ile mogę iść iz tego co mogę określić kod zamarza po wychowywanie puste okno na następujący kod w module firefox_binary:
Popen([self._start_cmd, "-slient"], stdout=PIPE, stderr=STDOUT, env=self._filefox_env).wait()
Otworzyłem wiersz cmd i ręcznie uruchomił powyższe polecenie i nie pojawi się żadne puste okno dialogowe. To sprawiłoby, żebym pomyślał, że to nie jest błąd w firefoxie. Nie mogę znaleźć miejsca, w którym pojawiłby się błąd, który pojawiłby się . Jakieś pomysły?
aktualizacja
zainstalowałem CentOS 6 i zainstalowane firefox 10.0.6 i selen webdriver pracował z tą wersją
aktualizacja
Poza zastosowaniem CentOS 6 muszę ten problem także być rozwiązany na redhat, więc tutaj jest więcej szczegółów i co znalazłem. Złożę na to nagrodę, ponieważ musi zostać rozwiązana:
Wykopałem trochę więcej na ten temat i odkryłem, że problem dotyczy selenu przy użyciu biblioteki 32-bitowej. Mam wersję selenu 2.25.0 na serwerze Redhat Enterprise Linux Server 5.6 (x86_64) przy użyciu przeglądarki Firefox ESR 10.0.6 (64-bitowej). zmieniłem metodę _start_from_profile_path w firefoxBinary klasy, aby zobaczyć, gdzie leży problem:
p=open("/tmp/ffoutput.txt", "w+")
Popen([self._start_cmd, "-silent"], stdout=p, stderr=STDOUT, env=self._firefox_env).communicate()
i ogonami /tmp/ffoutput.txt Okazało się, że selen próbuje użyć 32 bitowego lib:
Failed to dlopen /usr/lib/libX11.so.6
dlerror says: /usr/lib/libX11.so.6: wrong ELF class: ELFCLASS32
Ten komunikat pojawia się w trybie ciągłym, a Firefox zawiesza się, wyświetlając puste okno dialogowe. Zrobiłem ten problem i znalazłem kilka osób narzekających, ale żadnych rozwiązań, które działały (próbowałem połączyć się z 64-bitową biblioteką do 32-bitowego katalogu lib po przeniesieniu biblioteki 32-bitowej, ale to spowodowało awarię geko, próbowałem wysyłać ciągłe błędy do/dev/null, ale to nie rozwiązało niczego).
Bez wyjątku, bez logu? Huh. Czy kiedykolwiek działało, czy jest to twoja pierwsza próba uruchomienia FF przez WebDriver? Czy możesz spróbować uruchomić Firefoksa, podając ścieżkę do niego konstruktorowi? –
Jest to mój pierwszy raz na pudełku redhat. Miałem go uruchomionego na oknie Windows. Sprawdziłem self._start_cmd i stwierdziłem, że jest to dokładna poprawna ścieżka do firefox.jak już powiedziałem, sprawdziłem podczas debugowania, jakie polecenie było używane i znalazłem to/usr/bin/firefox -silent. Uruchomiłem to w terminalu i nie otrzymałem błędu. Uruchomiłem także/usr/bin/firefox (bez parametru -slient) i pojawi się firefox. Gdy użytkownik webdrivera powyższy kod firefox nie otwiera się, a na pulpicie redhat pojawia się puste okno dialogowe. – amadain
nic nie jest dodawane do/var/log/messages, aby powiedzieć mi cokolwiek (gdzie firefox umieszcza swoje logowanie). – amadain