自动填写表单的脚本有吗

wen 实用脚本 1

本文目录导读:

自动填写表单的脚本有吗

  1. 方案一:浏览器书签小工具(零基础,最推荐)
  2. 方案二:Python + Selenium(用于自动化测试或复杂操作)
  3. 方案三:油猴脚本(Tampermonkey)[最灵活,一劳永逸]
  4. 方案四:使用现成的浏览器扩展(推荐非技术用户)
  5. ⚠️ 重要注意事项(法律与安全)

针对“自动填写表单”,我无法直接提供一个通用的“一键脚本”,因为没有一种脚本能适配所有网站(每个网站的网页结构、字段名称、验证码、安全机制都不同)。

我可以为你提供四种不同场景下的解决方案和核心代码模板,你可以根据自己的技术水平和需求选择。


浏览器书签小工具(零基础,最推荐)

如果你只是偶尔需要填写某个固定的内部系统,可以用“书签小工具”,点击书签即可自动填充当前页面的输入框。

原理: 通过 JavaScript 遍历页面上的 input 标签,根据 nameid 属性匹配并赋值。

使用方法:

  1. 复制下面的代码。
  2. 在浏览器收藏夹(书签栏)添加一个新书签。
  3. 将“网址”栏清空,粘贴以下代码,保存。
  4. 打开目标网页,点击该书签即可自动填充。

代码模板(请替换其中的字段名和值):

javascript:(function(){
    // 创建一个映射表:将网站的字段属性 映射为 你要填写的值
    var fieldMap = {
        'username': '你的用户名',
        'user_name': '你的用户名',
        'email': '你的邮箱@example.com',
        'phone': '13800138000',
        'address': '北京市朝阳区xx路xx号',
        'password': '你的密码' // 注意:部分网站密码框禁止脚本赋值,除非你触发了输入事件
    };
    // 获取页面所有输入框
    var inputs = document.querySelectorAll('input, textarea, select');
    inputs.forEach(function(input) {
        var name = input.name || input.id; // 获取name或id属性
        if (name && fieldMap[name]) {
            input.value = fieldMap[name];
            // **重要**:触发 input 和 change 事件,让前端框架(如Vue/React)识别到数据变化
            var event = new Event('input', { bubbles: true });
            input.dispatchEvent(event);
            var changeEvent = new Event('change', { bubbles: true });
            input.dispatchEvent(changeEvent);
        }
    });
    alert('填充完成!');
})();

Python + Selenium(用于自动化测试或复杂操作)

如果你需要处理下拉菜单、单选按钮、多步骤表单,或者需要等待页面加载完成后自动填入,推荐使用 Python 的 Selenium 库。

适用场景: 需要批量操作、重复性填写、无人值守。

代码模板:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 1. 启动浏览器
driver = webdriver.Chrome()  # 需要提前下载 ChromeDriver 并配置环境变量
# 2. 打开目标网页
driver.get("https://example.com/form")
# 3. 等待页面加载完成(最好使用显式等待,这里用固定延时简化)
time.sleep(3)
# 4. 定位元素并填写(使用多种定位方式)
# 通过 ID
driver.find_element(By.ID, "username").send_keys("admin")
# 通过 NAME
driver.find_element(By.NAME, "email").send_keys("test@test.com")
# 通过 CSS 选择器
driver.find_element(By.CSS_SELECTOR, "input[placeholder='请输入手机号']").send_keys("13800000000")
# 5. 处理下拉框(以 Select 元素为例)
from selenium.webdriver.support.ui import Select
select_element = Select(driver.find_element(By.NAME, "country"))
select_element.select_by_visible_text("中国")
# 6. 点击提交按钮
driver.find_element(By.XPATH, "//button[@type='submit']").click()
# 7. 关闭浏览器
# driver.quit()

油猴脚本(Tampermonkey)[最灵活,一劳永逸]

如果你需要每次打开特定网站自动填充,不需要手动点击书签,可以写一个油猴脚本。

适用场景: 固定的内部ERP、OA系统、打卡系统等。

代码模板:

// ==UserScript==
// @name         自动填写表单-自定义
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  进入页面后自动填入表单数据
// @author       You
// @match        https://*/form/*   // 修改为你的目标网址
// @grant        none
// ==/UserScript==
(function() {
    'use strict';
    // 等待页面完全加载并执行
    window.addEventListener('load', function() {
        // 定时器确保数据填入(防止Vue等框架异步渲染)
        setTimeout(function() {
            var data = {
                'username': 'your_name',
                'password': 'your_pass',
                'tel': '12345678901'
            };
            // 遍历所有输入框
            document.querySelectorAll('input[type="text"], input[type="password"], input[type="tel"], textarea').forEach(function(input){
                var key = input.name || input.id;
                if (data[key]) {
                    input.value = data[key];
                    // 触发事件以兼容现代前端框架
                    input.dispatchEvent(new Event('input', { bubbles: true }));
                    input.dispatchEvent(new Event('change', { bubbles: true }));
                }
            });
        }, 500); // 延迟500毫秒执行
    });
})();

使用现成的浏览器扩展(推荐非技术用户)

如果你不想写代码,可以使用以下成熟的工具(它们支持录制操作并回放,配合AI智能识别):

  1. Microsoft Edge / Chrome 的“自动填充”:自带功能,但仅支持浏览器保存过的联系人信息,不支持自定义复杂逻辑。
  2. “自动表单填充器”扩展:Autofill”、“Fillr”,它们支持自定义规则,可以根据网址自动填充。
  3. RPA工具(如UiBot、影刀):如果涉及跨软件操作(如网页+Excel联动),这类工具是更好的选择。

⚠️ 重要注意事项(法律与安全)

  1. 不要用于非法绕过:不要利用脚本绕过验证码(如极验、Recaptcha)或破解登录锁定,这属于攻击行为。
  2. 密码安全:建议不要在脚本中明文存储核心密码,使用环境变量或调用密码管理器。
  3. 反爬虫机制:部分网站会通过 JavaScript 检查模拟输入,如果数据被直接赋值而不是键盘输入,可能被识别为机器人并封禁账号(尤其是金融类网站)。

你需要哪种方案? 如果你能提供具体的网站类型(政务系统、教务系统、日常办公),或者表单字段的HTML结构,我可以帮你定制更精确的脚本。

抱歉,评论功能暂时关闭!