当前位置: 首页 > 面试题库 >

如何使用Selenium的Java接口从站点上载文件

王俊楚
2023-03-14
问题内容

我是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。

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

WebDriver将焦点放在您称为“ sendKeys”的元素上。仅当焦点离开该元素时才会触发“
onchange”事件。这样,您可能需要移动焦点,可能需要在另一个元素上单击“单击”。



 类似资料:
  • 我无法找到正确的方法来实现我的目标,即下载带有java selenium脚本的pdf。

  • 如何使用JavaSelenium访问网站中的文本? HTML快照: 有人能给我解释一下如何使用上图中的java selenium访问demouser和email id吗 https://phptravels.com/demo这是我在做的网站

  • 我试图在运行时注入一个ByteBuddy代理,在这种情况下,当JVM启动时,ByteBuddy不在机器上(因此不在类路径中)。我的第一个想法是将bytebuddy库jar文件添加到类路径中的一个目录中,以便在注入代理时加载它,但我找不到检索正在运行的JVM的类路径的方法。因此,我想知道在注入代理之前,是否可以使用Java调试接口在JVM中手动加载字节库jar文件。 我试图修改这段代码(使用JDI)

  • 问题内容: 我正在尝试获取下载链接并下载文件。 我有一个包含以下链接的日志文件: 我有这样的代码: 到目前为止,我不知道如何获取下载链接并下载它。可以使用selenium下载文件吗? 问题答案: 根据文档,您应该配置为自动下载具有指定内容类型的文件。这是在txt文件中使用第一个URL的示例,该文件将文件保存在当前目录中: 注意,我也简化了xpath。

  • 问题内容: 因此,我正在开发一个应用程序来存储所有用户喜欢的应用程序的快捷方式,就像集线器一样。我可以支持实际文件,并且可以使用快捷方式解析器。我认为应用程序也支持Internet快捷键也将非常不错。这就是我在做什么: 假设我要获取Google的图标()。 首先,我摆脱掉多余的页面(例如将成为)。 然后,我用来获取图像。 问题是,当我调用此方法时,永远不会返回Image: 现在我有两个问题: Ja

  • 问题内容: 我正在研究python和selenium。我想使用selenium从单击事件中下载文件。我写了下面的代码。 我想从给定的URL从名称为“导出数据”的链接下载两个文件。我如何实现它,因为它仅适用于click事件? 问题答案: 使用查找链接,然后调用方法。 添加了配置文件处理代码,以防止出现下载对话框。