tutorial firefoxdriver chrome selenium firefox browser webdriver

firefoxdriver - selenium webdriver java



No se puede abrir el navegador con Selenium despuĆ©s de la actualizaciĆ³n de Firefox (7)

1) Descargue geckodriver 0.6.2, descomprima, cambie el nombre a "wires", no "wires.exe" driver

2) Agregue la ubicación ejecutable de cables a PATH (pongo esto en mi carpeta de Python C: Archivos de programa / Python ...) Seleccione Inicio, seleccione Panel de control. haga doble clic en Sistema y seleccione la pestaña Avanzado. Haga clic en Variables de entorno. ... En la ventana Editar variable del sistema (o Nueva variable del sistema), especifique el valor de la variable de entorno PATH. ... (Use '';'' para separar las rutas, es decir, [C: Usuarios / Rubén; C: Archivos de programa / Python]

3) Degradar a Firefox 45 https://ftp.mozilla.org/pub/firefox/releases/45.0.2/win64/en-US/

Uso Selenium WebDriver en Ubuntu Desktop 16.04 y no puedo abrir el navegador. Recibo el siguiente error después de la actualización de Firefox (antes de esto, todo funcionó):

Traceback (most recent call last): File "test.py", line 6, in <module> driver = webdriver.Firefox() File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py", line 81, in __init__ self.binary, timeout) File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 51, in __init__ self.binary.launch_browser(self.profile, timeout=timeout) File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 68, in launch_browser self._wait_until_connectable(timeout=timeout) File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 98, in _wait_until_connectable raise WebDriverException("The browser appears to have exited " selenium.common.exceptions.WebDriverException: Message: The browser appears to have exited before we could connect. If you specified a log_file in the FirefoxBinary constructor, check it for details.


A partir de la versión 47.0 de Firefox (que salió un poco), se debe usar un nuevo controlador (creado por mozilla en lugar de selenio) para conectarse a Firefox, debido a un error introducido en esta versión. A partir de Firefox versión 48.0, el controlador anterior quedará obsoleto por completo y solo se puede usar Marionette, por lo que es mejor cambiar ahora. Ver: Marionette Webdriver para Firefox

Descargue el driver (en OSX solo use brew install geckodriver ), cambie el nombre del archivo ejecutable a wires.exe en Windows o wires en los sistemas * nix, y asegúrese de que el archivo ejecutable esté presente en la ruta de su sistema, luego use este controlador en su programa del controlador anterior utilizando lo siguiente:

Cuando use un controlador web local:

Pitón:

firefox_capabilities = DesiredCapabilities.FIREFOX firefox_capabilities[''marionette''] = True driver = webdriver.Firefox(capabilities=firefox_capabilities)

Rubí:

driver = Selenium::WebDriver.for :firefox, marionette: true

Javascript:

var capabilities = Capabilities.firefox(); capabilities.set(''marionette'', true); var driver = new webdriver.Builder().withCapabilities(capabilities).build();

Java:

DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("marionette", true); Webdriver driver = new FirefoxDriver(capabilities);

C#:

var driver = new FirefoxDriver(new FirefoxOptions());

Cuando se usa la cuadrícula de selenio:

Cuando se usa una grilla de selenio, el controlador debe estar presente en la ruta de todas las máquinas de su grilla.

Pitón:

firefox_capabilities = DesiredCapabilities.FIREFOX firefox_capabilities[''marionette''] = True driver = webdriver.Firefox(capabilities=firefox_capabilities)

Rubí:

caps = Selenium::WebDriver::Remote::Capabilities.firefox marionette: true driver = Selenium::WebDriver.for :firefox, desired_capabilities: caps

Java:

DesiredCapabilities capabilities = DesiredCapabilities.firefox(); // Set Marionette on so the Grid will use this instead of normal FirefoxDriver capabilities.setCapability("marionette", true); WebDriver driver = new RemoteWebDriver(capabilities);

C#:

DesiredCapabilities capabilities = DesiredCapabilities.Firefox(); // Set Marionette on so the Grid will use this instead of normal FirefoxDriver capabilities.SetCapability("marionette", true); var driver = new RemoteWebDriver(capabilities);


Algunas personas tienen el problema de que algunos button o cuadros de select no pueden seleccionarse en modo marionette .

Una alternativa es usar una versión anterior de Firefox:

Puede descargar el binario here y usarlo aquí:

from selenium import webdriver from selenium.webdriver.firefox.firefox_binary import FirefoxBinary binary = FirefoxBinary(''path/to/binary'') driver = webdriver.Firefox(firefox_binary=binary)


No es necesario degradar Firefox. Me he enfrentado a un problema con la versión de Windows y Firefox 49. Estaba usando la versión geckodrvier de 64 bits. Lo cambié a la versión geckodrvier de 32 bits y resolvió el problema. Ahora el navegador se abre correctamente sin ningún problema.


CORREGIDO : ¡La solución en este momento es degradar Firefox! ejecuta este comando para obtener una lista de las versiones disponibles de Firefox.

apt-cache show firefox | grep Version

Mi resultado:

Version: 47.0+build3-0ubuntu0.16.04.1 Version: 45.0.2+build1-0ubuntu1

Instalar en pc:

sudo apt-get install firefox=45.0.2+build1-0ubuntu1

Para mantener esta versión y no permitir actualizaciones:

sudo apt-mark hold firefox

Si desea recuperar la versión de Firefox y permitir actualizaciones:

sudo apt-mark unhold firefox sudo apt-get upgrade


SOLUCIÓN downgrade a la versión 45:

firefox --version Mozilla Firefox 47.0 apt-get remove firefox wget https://ftp.mozilla.org/pub/firefox/releases/45.0/linux-x86_64/en-US/firefox-45.0.tar.bz2 tar -xjf firefox-45.0.tar.bz2 mv firefox /opt/firefox45 ln -s /opt/firefox45/firefox /usr/bin/firefox firefox --version Mozilla Firefox 45.0


Solución : actualice Firefox a 47.0.1 y Selenium a 2.53.1.

Esta combinación funcionó para mí.

Para obtener más detalles, consulte https://.com/a/37728659/6469532