You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python填写并提交网站HTML文本框 已知URL与文本框id

自动填写提交网页文本框的Pythonic实现方案

目前有两种主流实现方案,可以根据目标网站的交互逻辑选择:

方案1:静态表单场景(无需执行JS、无动态反爬校验)

使用requests库直接构造POST请求提交,是最简洁轻量的实现,适合表单逻辑公开、没有动态交互校验的站点。
示例代码如下:

import requests

# 替换为实际目标URL,若提交接口和页面URL不同,改为提交接口地址
TARGET_URL = "https://example.com/target-page"
# 要填入文本框的内容
NICKNAME_CONTENT = "要填写的昵称"

# 构造表单提交数据,键对应<input>标签的name属性,通常和id一致
payload = {
    "nickname": NICKNAME_CONTENT
}

# 提交请求,部分站点需要加headers伪装浏览器,可按需添加
response = requests.post(TARGET_URL, data=payload)

if response.status_code == 200:
    print("表单提交成功")

方案2:动态页面场景(有JS渲染、交互校验、验证码等场景)

使用playwright库实现浏览器自动化,是目前Python生态下语法最简洁、易用性最高的模拟浏览器方案,不需要手动配置驱动,完全适配已知元素id的操作场景。
首先执行安装命令:

pip install playwright
playwright install chromium

示例代码如下:

from playwright.sync_api import sync_playwright

TARGET_URL = "https://example.com/target-page"
NICKNAME_CONTENT = "要填写的昵称"

with sync_playwright() as p:
    # 启动浏览器,调试时可将headless设为False显示浏览器界面
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.goto(TARGET_URL)

    # 通过id定位文本框,填入内容
    page.locator("#nickname").fill(NICKNAME_CONTENT)

    # 提交表单,二选一即可:
    # 方式1:触发文本框回车提交(大部分表单支持该操作)
    page.locator("#nickname").press("Enter")
    # 方式2:点击提交按钮,将选择器替换为实际提交按钮的定位规则即可
    # page.get_by_role("button", name="提交").click()

    # 等待页面提交完成
    page.wait_for_load_state("networkidle")
    print("提交操作完成")

    browser.close()

注意事项

  • 若目标站点提交需要登录态,两种方案都可以自行添加Cookie处理:requests直接传cookies参数,playwright可调用page.context.add_cookies()方法注入
  • 使用requests方案时,若文本框的name属性和id不一致,需要把payload的键替换为实际的name属性值,避免提交参数错误

内容的提问来源于stack exchange,提问作者farderer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:57:01