0

我是硒开发的新手,我需要“刮掉”这个页面:

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

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

这是我尝试的:

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

1 回答 1

1

如果我正确理解您的问题,您想在那里上传文件,对吗?这应该可以解决问题:

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

这个想法是将文件的路径直接发送到您通常单击以获取模式窗口的元素 - 即<input type='file' />element.

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

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

于 2012-05-09T22:56:45.983 回答