Van Dreamhost megosztott tárhelyem, és fejetlenül próbálom futtatni rajta a Firefox 3.0-t, a Selenium használatához.
Amikor megpróbálom futtatni (~/local/bin/firefox/firefox
), a következő hibaüzenetet kapom:
error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
Hogyan tudom futtassa a Firefoxot Linuxon anélkül, hogy szüksége lenne erre a megosztott objektum fájlra?
Válasz
Tudom, hogy ez egy meglehetősen régi kérdés, de szerettem volna egy újabb válasz hozzáadásához, amint a Google ide irányított, és egy ideig keresgélnem kellett, hogy megtalálja a választ.
A Firefox 57-től kezdve fej nélküli módban futtathat egyszerűen a Firefox telepítésével és a futtatással:
firefox -headless http://test.com/
Itt tekintheti meg a Firefox fejlesztői dokumentumait.
Megjegyzések
- Felhívjuk figyelmét, hogy az első kiadásoknál a Firefox fej nélküli mód továbbra is megszüntette a GTK3 telepítését. Ez a probléma mára megoldódott, ha jól tudom.
Válasz
A Firefox nem futtatható az összes szükséges Gtk könyvtár nélkül, de ez könnyen megoldható a könyvtárak telepítésével. Normál esetben a Firefoxot egy csomagkezelő rendszeren keresztül telepíti, és ez behúzza az összes szükséges könyvtárat.
A Firefox normál futtatásához X szerverre van szükség (ez az a rész, amely az ablakokat és azok tartalmát jeleníti meg, szemben olyan dolgokkal, mint a Gtk, amelyek olyan könyvtárak, amelyeket az alkalmazás felhasznál a tartalom felépítéséhez). Ez az a valami, amelyet általában nem futtatna egy szerveren. Nagyon kevés dolgot tehet a Firefoxban X szerver nélkül, nem tudom, hogy a Selenium egyike-e ezeknek.
A Firefox futtatásához a kiszolgálón futtasson egy „virtuális” X szervert. Egy egyszerű az Xvfb ( v irtuális f rame b uffer X szerver). Ez az X.org szerver terjesztésben található. Minta használat:
Xvfb :19 -screen 0 1024x768x16 & export DISPLAY=:19 firefox &
megjegyzések
- Kiváló, szurkol Gillesnek, ez sikerült. Ezeket a cikkeket is hasznosnak találtam az Xvfb működéséhez: alittlemadness.com / 2008/03/05 / running-selenium-headless , és blog.kabisa.nl/2010/05/24/…
Válasz
Nem lehet “t; az X és a Gtk + kliens könyvtárakkal van összekapcsolva, és nem hiszem, hogy ezek nélkül is fel lehetne építeni.
Még a Firefox fej nélküli verziójában is A GTK + továbbra is szükséges .
Válasz
Mivel a Szelén egy GUI tesztelő eszköz, szeretném nehezen hiszem el, hogy X nélkül is működhet.
Tehát a legjobb tippem az, hogy a fej nélküli szerveréhez X telepítésre van szükség, amire Gilles javasolja. Számos hasonló alternatíva létezik.
Válasz
Használhatja
- Firefoxot egy virtuális képkockában:
xvfb-run -a firefox
- használjon SlimerJS (beágyazott Gecko / renderelő Firefox) xcfb-vel,
- a PhantomJS használatát beágyazott WebKit-ként megjelenítés és szeléntámogatás nélkül a GhostDriver – ha a WebKit megfelelő az Ön számára.
Megjegyzések
- Szerintem ' xvfb-run -a … ' és nem xvfb, igaz?
- Köszönet 🙂 Talán időközben megváltozott?