当前位置: 首页 > 知识库问答 >
问题:

我如何在Selenium2.20和Java上传文件?

仲孙逸明
2023-03-14

我看了很多上传的线程,但没有找到答案。有人能帮帮我吗。我有一个浏览按钮,让我选择文件上传从我的电脑到网站。以下是网站上browse按钮所在的html代码:

<input id="contentFileInput" width="110" type="file" height="30" name="contentFileInput" style="display: none;">
<object id="contentFileInputUploader" width="110" height="30" type="application/x-shockwave-flash" data="../../Scripts/uploadify.swf" style="visibility: visible;">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="allowScriptAccess" value="sameDomain">
<param name="flashvars" value="uploadifyID=contentFileInput&pagepath=/Content/&script=/Content/AsyncUpload/&folder=&width=110&height=30&wmode=opaque&method=POST&queueSizeLimit=999&simUploadLimit=1&fileDesc=*.mpeg;*.mpg;*.avi;*.flv;*.mov;*.mp4;*.wmv&fileExt=*.mpeg;*.mpg;*.avi;*.flv;*.mov;*.mp4;*.wmv&auto=true&sizeLimit=1258291200&fileDataName=Filedata">
</object>

我尝试了:WebElement elem=driver.findElement(by.xpath(“//*[@id='Content FileInputUploader']”));ELEM.SendKeys(“C:///video/file.flv”);

但它什么也做不到。当我悬停browse按钮时,我从ff中的firepath获得了xpath。谁能建议一下我能做些什么吗?我真的被卡住了。提前道谢。

共有1个答案

杨轶
2023-03-14

您必须在文件输入上使用sendKeys(),而不是在按钮上。在示例html中,您应该使用:

findElement(by.id(“ContentFileInput”))

而不是

 类似资料:
  • 我知道如何将dropbox API与dropbox core SDK一起使用: 但是,在不使用SDK的情况下,有没有可能做到这一点呢?

  • 问题内容: 谁能让我知道如何使用Java代码使用Selenium上传文件? 当我单击应用程序中的按钮时,它将在新窗口中打开,可以用来选择上传文件。Silverlight(C#)开发的浏览按钮。 问题答案: 首先确保输入元素可见 正如Mark Collin在此处的讨论中所述: 不要单击浏览按钮,它会触发操作系统级别的对话框并有效地停止测试。 相反,你可以使用: myUploadElement是该元素

  • 谁能让我知道如何通过Java代码使用Selenium上传文件? 当我点击应用程序中的按钮时,它会在新窗口中打开,我可以用它来选择上传文件。Silverlight(C#)开发的浏览按钮。

  • 问题内容: 我正在使用Spring MVC,这是我的方法: 我需要在邮递员和文件中传递会话ID。我怎样才能做到这一点? 问题答案: 在邮递员中,将方法类型设置为 POST 。 然后选择主体->表单数据->输入参数名称(根据您的代码 文件 ) 且右侧旁边值列,会出现 下拉菜单“文本文件” ,选择 文件 。选择您的图像文件并将其发布。 对于其他基于 “文本”的参数 ,您可以像通常使用postman一样

  • 问题内容: 我希望用户上传一个.csv文件,然后让浏览器能够解析该文件中的数据。我正在使用ReactJS。这将如何运作?谢谢。 问题答案: 弄清楚了。的组合反应文件阅读器和HTML5的的FileReader(见本页)。 将react-file-reader位放在render内部: 然后在上面。