前端browser下用javascript提交表单,但是在IE8下没法填写file input的值。
可以通过模拟键盘输入文件路径,并按回车键确认的方法来实现。
原文地址:在WebBrowser中通过模拟键盘鼠标操控网页中的文件上传控件
将javascript模拟键盘输入的方法整理了一下,代码如下:
<input type="file" id="fileInput" value=""><br> 模拟键盘操作文件上传控件<input type="button" value="写入" onclick="f('http://pic.cnblogs.com/avatar/a160298.jpg?id=07225917');"> <script language="javascript"> function f(txt){ var file_input_obj = document.getElementById("fileInput"); file_input_obj.focus(); var WshShell=new ActiveXObject("WScript.Shell"); WshShell.SendKeys("{Tab}"); WshShell.SendKeys("{ }"); WshShell.SendKeys(txt); WshShell.SendKeys("{Enter}"); } </script>
运行会有安全警告,自己用的当然就点允许了。
由于某些原因只能用前端的方式采集提交。
之前批量采集添加了几千条不带图片的信息,这下终于可以包括图片了。
分享下 O(∩_∩)O
==========================================
附:貌似模拟键盘操作需要时间,立即提交的话是没有值的。
提交操作还需要在延时判断一下o(︶︿︶)o