zoukankan      html  css  js  c++  java
  • 在IE8下,用javascript的ActiveX,通过模拟键盘操控填写file input

    前端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

  • 相关阅读:
    简单记事本 V0.5
    一次对webplayer的嗅探
    引用的DLL不能调试的问题
    软件:让人越懒越好
    如何设置mysql远程访问
    ASP.NET基础培训 Cookie的正确利用
    Mysql中新建和调用存储过程
    CentOS下mysql的中文编码问题
    mysmall.ini、mymedium.ini、mylarge.ini、myhuge.ini文件的作用
    创建自定义线程池
  • 原文地址:https://www.cnblogs.com/slowhand/p/2085795.html
Copyright © 2011-2022 走看看