随着应用系统从客户端+服务器模式,逐渐发展成浏览器+服务器模式。越来越多的操作是基于浏览器来完成的,在输入数据时可以方便的使用批量操作工具,提高工作效率。
在使用浏览器自动填写网页表单时,遇到最多的就是文本输入框了。
1、通过修改元素的value属性完成填表
以百度网站为例,先看看输入框的HTML源码:

  1. <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

其本质是一个input元素,type属性为text。在执行自动填表时,直接改变这个input元素的value属性值即可。此方法适用于大多数网站表单填写。

有些表单比较奇怪,如果只改变value,其值不被表单承认,以至于无法提交表单。这是因为网页脚本通过输入框元素动作触发事件,再检测验证输入值是否符合要求,如果这些事件不被触发执行,则无法通过数据验证。如上图所示,可以人工输入触发事件代码。比如:填表前先触发得到焦点的事件focus,填表后触发输入事件input或change事件。
2、模拟键盘输入自动填表跟人工敲击键盘输入一样,自动在表单文本输入框中输入。如果浏览器当前非活动窗口,则先激活为活动窗口再输入。在输入过程中,会自动触发Input元素的相关事件。注意此方法不支持输入法,直接上屏对应的键值,所以不能用于输入中文。

3、由系统向浏览器发送按键信息填表
由系统向浏览器发送按键数据,直接填写到文本输入框,支持中文输入。还可以使用组合键

功能按键设置说明

每个键都由一个或多个字符表示。要指定单个键盘字符,请使用该字符本身。例如,要表示字母 A,请将字符串“A”传递给方法。要表示多个字符,请将各个附加字符追加到它之前的字符的后面。要表示字母 A、B 和 C,请将参数指定为“ABC”。
加号 (+)、插入符号 (^)、百分号 (%)、波形符 (~) 以及圆括号 () 具有特殊含义。要指定这些字符中的某个字符,请将其放在大括号 ({}) 内。例如,要指定加号,请使用“{+}”。要指定大括号字符,请使用“{{}”和“{}}”。中括号 ([ ]) 没有特殊含义,但必须将它们放在大括号内。在其他应用程序中,中括号具有特殊含义,此含义可能会在发生动态数据交换 (DDE) 时起重要作用。
要指定在按键(如 Enter 或 Tab)时不显示的字符,以及表示操作而不表示字符的键,请使用下表中的代码。
代码
Backspace {BACKSPACE}、{BS} 或 {BKSP}
Break {BREAK}
Caps Lock {CAPSLOCK}
Del 或 Delete {DELETE} 或 {DEL}
向下键 {DOWN}
End {END}
Enter {ENTER} 或 ~
Esc {ESC}
Help {HELP}
Home {HOME}
Ins 或 Insert {INSERT} 或 {INS}
向左键 {LEFT}
Num Lock {NUMLOCK}
Page Down {PGDN}
向上翻页 {PGUP}
Print Screen {PRTSC}(保留供将来使用)
向右键 {RIGHT}
Scroll Lock {SCROLLLOCK}
TAB {TAB}
向上键 {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
数字键盘加号 {ADD}
数字键盘减号 {SUBTRACT}
数字键盘乘号 {MULTIPLY}
数字键盘除号 {DIVIDE}
要指定与 Shift、Ctrl 和 Alt 键的任意组合一起使用的键,请在这些键代码之前加上以下一段或多段代码。
代码
Shift +
Ctrl ^
Alt %
要指定在按一些键时应同时按住 Shift、Ctrl 和 Alt 键的任意组合,请将这些键的代码放在括号内。例如,要指定按 E 和 C 时同时按住 Shift 键,请使用“+(EC)”。要指定按 E 时应按住 Shift,之后按 C 时不按住 Shift,请使用“+EC”。
要指定重复键,请使用格式 {key number}。键和数字之间必须放一空格。例如,{LEFT 42} 表示按向左键 42 次;{h 10} 表示按 H 10 次。

按键序列中使用暂停功能

有时在按键后需要等待程序响应,此时需要暂停按键。请使用格式{PAUSE number},number表示暂停时间,单件是毫秒。例如:{PAUSE 1000}表示暂停1000毫秒,即1秒。

4、直接触发按键事件完成填表
在浏览器窗体中,直接发生按键事件。这种方法效果与上述第二种方法Keyboard一样,浏览器窗体会被自动激活,也不支持中文输入,但元素绑定的事都被触发。

一般情况下,优先使用第一种方法更稳定,直接修改input元素的value属性,达到自动填表的目的,浏览器可最小化非活动窗口内执行相关操作,不影响其它程序窗口工作。针对某些包含特殊验证的表单,才使用模拟键盘发送消息,此时浏览器会被自动激活为活动窗体,打扰你对其它窗体的操作。

网页表单文本框的自动填写(四种方法)相关推荐

  1. 使input文本框不可编辑的3种方法

    转自点击打开链接 今天试了一下使input文本框不可编辑的3种方法,现在总结一下: disabled 属性规定应该禁用 input 元素,被禁用的 input 元素,不可编辑,不可复制,不可选择,不能 ...

  2. HTML -- 使input文本框不可编辑的2种方法(有disabled属性的input框,后台获取不到值)

    1. 使input文本框不可编辑的2种方法 今天在写JSP的时候我写了这样的代码 updateBook.jsp <form action="${pageContext.request. ...

  3. java文本域不可编辑_javascript:让表单 文本框 只读,不可编辑的方法

    有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使 的内容,"中国"两个字不可以修改.实现的方式归纳一下,有如下几种. 方法1: οnfοcus=this.bl ...

  4. AngularJS进阶 三 HTML 让表单 文本框只读,不可编辑的方法

    HTML:让表单.文本框只读,不可编辑的方法 有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使<input type="text" name=" ...

  5. java 文本域不可编辑_实现表单input文本框不可编辑的三种方法

    问题 有时,我们需要以不可编辑的模式显示表单域,那么如何实现?我们可以通过为表单字段(input文本框,标签,复选框,文本区域)设置以下方法来实现表单的不可编辑功能. 实现方式 1.οnfοcus=t ...

  6. 设置HTML表单文本框为只读的几种方式

    有时候,我们希望表单中的文本框是只读的,让用户只能查看信息而不能修改其中的信息,使 input type="text" name="input" value=& ...

  7. HTML:让表单 文本框 只读,不可编辑的方法

    有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使 的内容,"中国"两个字不可以修改.实现的方式归纳一下,有如下几种. 方法1: οnfοcus=this.bl ...

  8. html选择文本框后提示消失,两种方法实现文本框输入内容提示消失

    第一种方法: 基于HTML5 input标签的新特性 - placeholder .另外,x-webkit-speech 属性可以实现语音输入功能. 第二种方法: 用span模拟,定位span,借助J ...

  9. 设置select下拉框不可修改的→“四”←种方法

    设置select下拉框为不可修改的几种方法: 因为select的特殊性,导致它不能像input表单一样简单地设置一个readonly来限制修改,所以,我们需要进行别的操作! 1.为下拉框添加样式,可以 ...

最新文章

  1. 猎头出500万年薪挖百度某高T,却被对方拒绝!网友:钱不是最重要的!
  2. 21 Merge Two Sorted Lists(两链表归并排序Easy)
  3. Godaddy域名解锁、获取转移码(Authorization Code)及转出注意事项
  4. ERROR: Invalid requirement: ‘_libgcc_mutex=0.1=main‘ XXX Hint: = is not a valid operator. Did you me
  5. CCS10.2.0安装教程
  6. 大数据实效_新都区:运用“大数据”提升专项巡察实效
  7. 超轻量级Web安全漏洞扫描工具Netsparker使用教程介绍
  8. 在Linux中修复U盘
  9. php中的字典数据类型,python中字典数据类型常用操作
  10. 不同形式弧微分的求解
  11. w7计算机不显示移动硬盘,Win7移动硬盘在电脑上不显示盘符的解决办法
  12. 设备冗余技术——链路聚合
  13. 【运维】服务器的初步认识
  14. 使用C++实现FC红白机模拟器 Cartridge 与 Mapper(实现篇)
  15. 集合 - Java篇
  16. 前端面试题总结(转载)
  17. 两台电脑怎么快速互传大量文件
  18. Windows 2008 R2、2012 R2 磁盘扩容、新加磁盘
  19. 【Crypto】BUGKU-抄错的字符
  20. 类加载及执行子系统的案例分析

热门文章

  1. flash cs4安装闪一下红的界面
  2. 查看mysql表结构
  3. 算法设计(动态规划实验报告) 基于动态规划的背包问题、Warshall算法和Floyd算法
  4. 二极管在电路设计中的应用
  5. 【视频课】深度学习最有价值的CV领域,30小时掌握目标检测(附作者经历分享)!...
  6. 安装时提示错误1402的解决办法
  7. 论文写作三线表制作方法
  8. AD2019 add Mechanical layer
  9. Linux快速入门(操作基础)
  10. IOS之导出p12证书