如何使用Selenium的java接口从站点上传文件

我是selenium发展的新手,我需要“刮”这个页面:

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

在此页面中,使用jquery上传图像。 我需要在java中使用selenium来做同样的事情。 有人可以给我一些建议吗? 谢谢!! 🙂

这是我尝试的:

 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")); } 

如果我理解你的问题,你想在那里上传一个文件,这是正确的吗? 这应该是诀窍:

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

我们的想法是直接将文件的路径发送到您通常单击的元素以获取模态窗口 – 即元素。

因为大多数文件上传输入都有一些onchange事件触发器,所以你应该可以触发它们。 根据WebDriver常见问题解答 ,有一个简单的解决方案,因此您不必手动触发所有这些事件:

WebDriver将焦点留在您称为“sendKeys”的元素中。 只有当焦点离开该元素时,“onchange”事件才会触发。 因此,您需要移动焦点,可能使用另一个元素上的“单击”。