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

如何编写Python脚本循环100次自动填写提交带单选复选框的谷歌表单

Got it, let's figure out how to automate filling that Google Form 100 times with random selections. We'll use Python's requests library to handle form submissions and random to pick options randomly. Here's a complete, working solution:

Step 1: Get the Form's Submission URL & Field IDs

First, you need to grab two critical details from the form:

  1. Submission URL: Swap out viewform in the given link with formResponse — your target URL becomes https://docs.google.com/forms/d/e/1FAIpQLScqkoxkYN6BTF00gab9in7ih9fso96IC-9VpcRNa0KpnHlEyg/formResponse
  2. Field IDs: Open the form in your browser, right-click → Inspect. Fill out and submit the form once, then head to the "Network" tab in DevTools. Look for the formResponse request, then check the "Form Data" section to get the unique entry.xxxxxx IDs for each question (every question has its own entry ID).
Step 2: The Python Script

Here's the code — make sure to update the entry IDs and options with the ones you found from your form inspection:

import requests
import random
import time

# Replace with your form's submission URL
FORM_URL = "https://docs.google.com/forms/d/e/1FAIpQLScqkoxkYN6BTF00gab9in7ih9fso96IC-9VpcRNa0KpnHlEyg/formResponse"

# Define your form fields and their possible options (update these with real entry IDs)
FORM_FIELDS = {
    # Single-choice question: entry ID mapped to list of available options
    "entry.123456789": ["Option A", "Option B", "Option C"],
    # Multi-choice (checkbox) question: entry ID mapped to list of available options
    "entry.987654321": ["Checkbox 1", "Checkbox 2", "Checkbox 3", "Checkbox 4"]
}

def submit_form():
    payload = {}
    for entry_id, options in FORM_FIELDS.items():
        if len(options) <= 3:  # Assume single-choice (adjust based on your form's structure)
            # Pick one random option for single-choice questions
            payload[entry_id] = random.choice(options)
        else:
            # Pick 1 to 3 random options for checkboxes (tweak the range as needed)
            num_choices = random.randint(1, min(3, len(options)))
            selected_options = random.sample(options, num_choices)
            # For checkboxes, each selected option gets added as a separate key-value pair
            for option in selected_options:
                payload[f"{entry_id}"] = option
    try:
        response = requests.post(FORM_URL, data=payload)
        response.raise_for_status()
        print("Form submitted successfully!")
    except requests.exceptions.RequestException as e:
        print(f"Submission failed: {e}")

# Run 100 submissions with a small delay to avoid anti-spam blocks
for i in range(100):
    print(f"Submitting form {i+1}/100...")
    submit_form()
    time.sleep(1)  # Wait 1 second between submissions (increase if you hit blocks)
Key Notes & Tips
  • Update Field IDs: The entry IDs in the example are dummy values — you must replace them with the actual ones from your form's network request.
  • Tweak Random Selection: For checkboxes, adjust random.randint(1, min(3, len(options))) to control how many options are picked each time.
  • Avoid Anti-Spam Blocks: Google might flag frequent submissions, so the time.sleep() is non-negotiable. If you get blocked, increase the delay or split the 100 submissions into smaller batches.
  • Respect Policies: Don't use this to spam or manipulate forms — stick to Google's Terms of Service.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:18:07