我是selenium开发的新手,我需要“抓取”此页面:
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")); }
如果我对您的问题理解正确,那么您想在那里上传文件,对吗?这应该可以解决问题:
d.findElement(By.id("fileField")).sendKeys("C:\\absolutePath\\toYour\\file.jpg");
这个想法是将文件的路径直接发送到元素,您通常会单击该元素以获取模式窗口-即<input type='file' />element。
<input type='file' />
由于大多数文件上传输入都有一些onchange事件触发器,因此您应该能够触发这些事件。根据WebDriver FAQ,有一个简单的解决方案,因此您不必手动触发所有这些事件:
onchange
WebDriver将焦点放在您称为“ sendKeys”的元素上。仅当焦点离开该元素时才会触发“ onchange”事件。这样,您可能需要移动焦点,可能需要在另一个元素上单击“单击”。