【发布时间】:2016-04-20 14:55:09
【问题描述】:
我目前正在做文件上传的自动化
下面是输入文件标签的HTML标签:
<input name="file" title="Type the path of the file or click the Browse button to find the file." id="file" type="file" size="20">
下面是按钮 HTML 标签:
<input name="Attach" title="Attach File (New Window)" class="btn" id="Attach" onclick="javascript:setLastMousePosition(event); window.openPopup('/widg/uploadwaiting.jsp', 'uploadWaiting', 400, 130, 'width=400,height=130,resizable=no,toolbar=no,status=no,scrollbars=no,menubar=no,directories=no,location=no,dependant=no', true);" type="submit" value="Attach File">
我的 VBA 编码是:
Dim filee As Object
Set filee = mydoc.getElementById("file")
filee.Value = filenamepath
Set attach = mydoc.getElementsByName("Attach")
attach(0).Click
当我运行这个编码时,输入文件路径框没有分配路径名,所以我选择了文件路径。
最后我尝试了下面的代码,但是发送键没有执行
Dim filee As Object
Set filee = mydoc.getElementById("file")
filee.Click
obj.SetText filename
obj.PutInClipboard
SendKeys "^v"
SendKeys "{ENTER}"
Set attach = mydoc.getElementsByName("Attach")
attach(0).Click
Set finall = mydoc.getElementsByName("cancel")
finall(0).Click
请告诉我 windows API 程序在 fine name: 输入框中分配我的文件名目录打开 Choose File to Open 资源管理器并单击 open 按钮。
【问题讨论】:
-
您不能以编程方式为“文件”类型的输入赋值。一些与安全相关的非常好的原因。
-
@TimWilliams 我必须先浏览.. click 事件之后我应该运行此代码还是在打开文件上传表单后如何分配值?
-
请提供任何其他解决方案来实现此自动化。
-
@TimWilliams 我可以使用 Selenium webdriver 和 Firefox 来完成这个自动化吗?
-
我不知道 - 我从未使用过 Selenium。
标签: windows vba excel internet-explorer automation