Ich habe Dreamhost-Shared-Hosting und versuche, Firefox 3.0 kopflos für die Verwendung mit Selenium auszuführen.
Wenn ich versuche, es ( ~/local/bin/firefox/firefox
) auszuführen , wird folgende Fehlermeldung angezeigt:
error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
Wie kann ich Firefox unter Linux ausführen, ohne diese gemeinsam genutzte Objektdatei zu benötigen?
Sie können Firefox nicht ohne alle erforderlichen Gtk-Bibliotheken ausführen, dies lässt sich jedoch leicht durch die Installation der Bibliotheken beheben. Normalerweise würden Sie Firefox über ein Paketverwaltungssystem installieren und dabei alle erforderlichen Bibliotheken abrufen.
Um Firefox normal auszuführen, benötigen Sie einen X-Server (das ist der Teil, der die Fenster und ihren Inhalt anzeigt, im Gegensatz zu Dingen wie Gtk, die Bibliotheken sind, die die Anwendung zum Erstellen des Inhalts verwendet). Das ist etwas, was Sie normalerweise nicht auf einem Server ausführen würden. Es gibt sehr wenige Dinge, die Sie in Firefox ohne einen X-Server tun können. Ich weiß nicht, ob Selen einer von ihnen ist.
Um Firefox auf Ihrem Server auszuführen, führen Sie einen "virtuellen" X-Server aus. Ein einfacher ist Xvfb ( v irtual f Rame b Uffer X - Server). Es befindet sich in der X.org-Serververteilung . Beispielnutzung:
quelle
Sie können nicht; Es ist mit den X- und Gtk + -Client-Bibliotheken verknüpft, und ich glaube nicht, dass es überhaupt möglich ist, es ohne sie zu erstellen.
Auch in der Headless-Version von Firefox wird GTK + noch benötigt .
quelle
Da Selenium ein GUI-Testtool ist, fällt es mir schwer zu glauben, dass es ohne X funktionieren kann.
Ich vermute also, dass Ihr Headless-Server eine X-Installation wie die von Gilles vorgeschlagene erfordert. Es gibt eine Reihe ähnlicher Alternativen.
quelle
Du kannst
xvfb-run -a firefox
quelle