No se puede cargar el archivo con Selenium

Estoy intentando cargar un archivo pdf, pero arroja una excepción:

Excepción en el hilo "principal" org.openqa.selenium.WebDriverException: error desconocido: no se puede enfocar el elemento

Debajo está el código:

public class FileUploadPopUp {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "G://ChromeDriver//chromedriver.exe");

        WebDriver driver=new ChromeDriver();
        driver.manage().window().maximize();

        driver.get("https://pdf2doc.com/");

        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

        driver.findElement(By.id("pick-files")).sendKeys("F:\\Selenium Complete Notes.pdf"); 
    }

}

Esto es para automatizar la acción de carga de archivos. Quiero cargar un archivo pdf. ¿Alguien puede ayudarme a resolver esto?

Respuesta 1

Para cargar el archivo, debe usar el inputelemento con el tipo de archivo, pero su pick-filesselector es a div, por eso recibió un error. Utilice el input[type=file]selector css:

public class FileUploadPopUp {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "G://ChromeDriver//chromedriver.exe");

        WebDriver driver=new ChromeDriver();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        driver.manage().window().maximize();

        driver.get("https://pdf2doc.com/");

        driver.findElement(By.cssSelector("input[type=file]")).sendKeys("F:\\Selenium Complete Notes.pdf"); 
    }
}
Respuesta: 2

Quiero comenzar el desarrollo de aplicaciones para Android. No soy nuevo en Java, pero el SDK de Android me confunde cuando busco la "mejor" forma de crear un diseño de pestaña. Mi primera aplicación debería ser simple. Solo necesito ...

Estoy tratando de usar Junit para verificar que algo generado por un método coincida con una cadena usando assertequals, pero no puedo hacer que funcione. Porque dice que el caso de prueba no está definido para (String, Void) ...

Tengo una aplicación Java que se ejecuta en WAS 6.1, con Log4j utilizado para iniciar sesión. Los archivos de registro no se crean. Se utiliza alguna otra configuración para el registro, pero no la que se empaqueta con ...

Antecedentes: tenemos una nube de solr de 3 nodos que se migró a Docker. Funciona como se esperaba, sin embargo, para los nuevos datos que se insertan, solo se puede recuperar por id. Una vez que intentamos usar filtros, no ...