Como fazer upload de um arquivo de um site usando a interface java do Selenium

Eu sou novo no desenvolvimento de selenium e eu preciso “raspar” esta página:

https://annunci.ebay.it/pubblica-annuncio 

Nesta página há um upload de imagens usando jquery. Eu preciso fazer o mesmo usando o selenium em java. alguém pode me dar alguns sugere? obrigado!! 🙂

Isso é o que eu tento:

 WebDriver d = new FirefoxDriver(); d.get("https://annunci.ebay.it/pubblica-annuncio"); List elements = d.findElements(By.tagName("input")); for(WebElement e : elements){ System.out.println(e.getAttribute("name")); } 

Se eu entendi sua pergunta corretamente, você quer enviar um arquivo para lá, correto? Isso deve fazer o truque:

 d.findElement(By.id("fileField")).sendKeys("C:\\absolutePath\\toYour\\file.jpg"); 

A idéia é enviar diretamente o caminho para o arquivo para um elemento no qual você normalmente clicaria para obter a janela modal – que é o elemento .

Como a maioria dessas inputs de upload de arquivo tem algum acionador de evento onchange , você deve poder acioná-lo. De acordo com o WebDriver FAQ , existe uma solução simples para isso, para que você não precise triggersr todos esses events manualmente:

O WebDriver deixa o foco no elemento chamado “sendKeys”. O evento “onchange” só será triggersdo quando o foco deixar esse elemento. Como tal, você precisa mover o foco, talvez usando um “clique” em outro elemento.