¿Cómo iniciar FireFoxDriver usando Selenium 3.4.0 usando Maven?

Estoy tratando de usar la última versión 3.4.0 de Selenium en un proyecto maven. Importé todos los frascos de Selenium usando la siguiente dependencia: -

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.4.0</version>
</dependency>

El problema es que no puedo resolver ninguna dependencia en mi proyecto en Eclipse para el siguiente código dentro del método principal: -

public class FirefoxTest {

    public static void main(String[] args) {
        FirefoxOptions options = new FirefoxOptions();
        options.setBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //This is the location where you have installed Firefox on your machine

        FirefoxDriver driver = new FirefoxDriver(options);
        driver.get("http://www.google.com");
    }
}

¿Qué me estoy perdiendo? Eclipse no puede resolver el tipo FirefoxDriver a ninguna dependencia. Por favor ayuda.

Respuesta 1

Para trabajar con Selenium 3.4.0 y Mozilla Firefox 53.x necesita descargar la última versión de geckodriver v0.16.1 desde aquí . Guárdelo en su máquina y proporcione la ruta absoluta del controlador geckodriver en su código.

Asegúrese de haber actualizado el pom.xml con la dependencia requerida de la siguiente manera:

<dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.4.0</version>
</dependency> 

Se recomienda usar la WebDriverinterfaz en lugar de usar la FirefoxDriverimplementación.

Su código se verá así:

System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();       
driver.navigate().to("http://www.google.com");

Proporcione los siguientes comandos para eliminar las dependencias anteriores, instale las nuevas dependencias y ejecute su prueba:

>mvn clean
>mvn install
>mvn test 
Respuesta: 2

Estoy bastante seguro de que la instancia del controlador de Firefox ha cambiado en la versión 3 de Selenium. Por favor use este código:

System.setProperty("webdriver.firefox.driver","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
WebDriver driver = new FirefoxDriver();

Lea también más sobre esto aquí.

También encontrará el código de prueba de trabajo aquí.

Además, compruebe que ha incluido las declaraciones de importación correctas en la parte superior de su clase:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
Respuesta: 3

Me enfrenté al mismo problema y estuve buscando una solución durante mucho tiempo. Incluso si cambia el código o las dependencias, su código aún tomará frascos de selenio incorrectos, porque su código ya se creó y se asignaron frascos de selenio incorrectos.

Sigue estos pasos:

  1. Haga clic derecho en las dependencias de Maven en su proyecto Eclipse y haga clic en Configurar dependencias de Maven y despliegue las dependencias de Maven de su lista e identifique su .m2carpeta donde se encuentra.
  2. Una vez que identifique la .m2carpeta, ábrala, vaya al repositorio y vaya a la carpeta de la organización.
  3. En esa carpeta, elimine todas sus carpetas de Selenium.
  4. Regrese a su pom.xmlarchivo, pegue la dependencia de Selenium 3.4.0 y elimine todas sus 3.5.3 u otras cosas (solo la dependencia de 3.4.0 es más que suficiente). Una vez más, elimine todas las demás dependencias de selenio.
  5. Finalmente, guarde su archivo y compílelo desde la sección del proyecto y ahora debería estar listo para comenzar.
Respuesta: 4

Descargar Gecko Driver: https://github.com/mozilla/geckodriver/releases

System.setProperty("webdriver.gecko.driver", "c:\\geckodriver.exe");
WebDriver driver = new MarionetteDriver();
driver.get("http://www.google.com");
Respuesta: 5

use la siguiente dependencia para descargar selenio.

<dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.4.0</version>
</dependency>

Una vez que se han descargado las dependencias. Realizar proyecto de construcción.

Esto resolverá tu problema

Respuesta: 6

Si quiero totalizar una lista de los saldos actuales de las cuentas, puedo hacer: accountOverview.setCurrentBalance (account.stream (). Filter (a -> a.getCurrentBalance ()! = Null) ...

No estoy seguro de si este es el lugar, pero estoy fuera de ideas, el siguiente es un código de actualización para mi programa, es simple, pero por alguna razón no funciona. privado vacío txt_updateActionPerformed (java.awt ....

Necesitamos fusionar dos conjuntos de datos que tienen nombres de columna diferentes, no hay columnas comunes en los conjuntos de datos. Hemos intentado un par de enfoques, ambos enfoques no están dando resultado ...

Tengo dos clases que están estructuradas de esta manera: public class Company {private List <Person> person; ... public List <Person> getPerson () {return person; } ...