support - Python-Firefox Headless
selenium support for phantomjs has been deprecated, please use headless (5)
Pasé los últimos días jugando con Selenium, Tor y Firefox como una combinación para múltiples tareas. Logré escribir un script simple en Python que toma el control de Firefox a través de Selenium, mientras que Firefox está conectado a Tor para tener privacidad.
Ahora, estoy buscando una manera de ahorrar recursos, así que pensé en ejecutar Firefox en modo sin cabeza, lo que pensé que era una característica común, pero no parece ser eso. Estoy buscando un método para hacer eso. La razón de que sea Firefox y no de un navegador basado en terminal es debido a la extensión "TorButton" que estoy usando dentro de Firefox. Tiene inyecciones de Javascript integradas que ayudan con la privacidad.
Si alguien ha hecho esto antes (¡y estoy seguro que muchos lo han hecho!), Algunos consejos serán muy apreciados, ¡gracias!
Desde el lanzamiento de la versión 56 al 28 de septiembre de 2017, el modo sin cabeza de Firefox está disponible en los tres sistemas operativos principales.
Puede establecer el modo sin cabeza a través de webdriver.FirefoxOptions()
, tal como lo hizo con Chrome:
from selenium import webdriver
options = webdriver.FirefoxOptions()
options.add_argument(''headless'')
driver = webdriver.Firefox(options=options)
PD: Si usa Selenium <3.8.0, debe reemplazar webdriver.FirefoxOptions()
con webdriver.firefox.options.Options()
(vea PR # 5120 ).
Además, la variable de entorno de uso MOZ_HEADLESS
hará lo mismo:
import os
from selenium import webdriver
os.environ[''MOZ_HEADLESS''] = ''1'' # <- this line
driver = webdriver.Firefox()
O, como alternativa, utilice un verdadero navegador sin cabeza, como Phantomjs, que es liviano y está bien integrado con el selenio
from selenium import webdriver
driver=webdriver.PhantomJS(''your pahtomjs exe file locaiton'')
Se está progresando en Firefox sin cabeza.
A partir del 21 de abril de 2017, https://adriftwith.me/coding/2017/04/21/headless-slimerjs-with-firefox/
tl; dr Firefox Nightly en Linux admite correr SlimerJS sin cabeza.
Más plataformas y Firefox completo sin cabeza llegarán pronto.
si finalmente encuentras la respuesta:
Primero, primero haz esto:
Tenga cuidado de configurar correctamente el camino de la unidad fox contra incendios.
Y entonces:
sudo apt-add-repository ppa: mozillateam / firefox-next
sudo apt-get update
sudo apt-get install firefox xvfb
Xvfb: 10 -ac
exportar DISPLAY =: 10
Y al final ejecutamos este comando para ver si tenemos algún error en nuestra implementación de no.
Firefox
y si no hay salida solo haga clic en ctrl + c .
Ok, después de eso escribe estos códigos.
from selenium import webdriver
class FireFoxLoadTest:
def __init__(self):
# 1 - Load a fire fox web driver
self.driver = webdriver.Firefox()
def do_test(self, url):
# 2 - Start to check url on the fire fox browser
result = self.driver.get(url)
self.driver.quit()
return self.result
fire_fox = FireFoxLoadTest()
res = fire_fox.do_test(''http://www.google.com'')
print(res)
xvfb es una forma común de hacer esto. La búsqueda de "selenio xvfb" debe encontrar muchos, como: