# ReForm **Repository Path**: tangzhiming/re-form ## Basic Information - **Project Name**: ReForm - **Description**: 重用已有的form,生成新form,使用新from收集信息,最终生成批量操作原form的自动化代码 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-07 - **Last Updated**: 2021-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ReForm-重用已有的Html Form ## 场景 当你有一个只有内网才能访问的html表单时,但此时需要借助外网让更多人填写此表单,最终将这些人的数据回填到内网的表单中。 ## 方案 先通过解析已有的表单元素(input,select,textarea...)来生成一个新的表单,新的表单允许外网访问,填写这个新的表达,最终将多人填写的表单数据保存到数据库中。再利用浏览器自动化工具(nightmare),将数据自动填写到内网表单上。 ## 细节说明 为什么要新建一个新的表单,而不是直接使用旧的表单代码? 因为原有的表单中肯定有一定的样式,还有一些必填,选填的逻辑,而我们程序只解析表单元素(input,select,textarea),而没有能力解析这些样式和逻辑,因此需要生成一个新的表单,让用户手动控制这些逻辑。 为什么使用浏览器自动化工具,而不是鼠标键盘操作模拟工具? 对于表单元素中的select下拉框,如果使用鼠标键盘操作模拟工具,不好实现选择指定的内容。而使用浏览器模拟工具就非常容易了。 # 流程说明 web项目生成所有需要执行的js代码 浏览器模拟器直接执行js代码,没有其他逻辑 # 项目截图 ![image-20211109110722776](Readme.assets/image-20211109110722776.png)