如何通过API删除Google Forms表单响应?技术实现求助
解决Google Forms批量删除响应的方案
核心思路
Google Forms没有官方开放的删除响应API,只能通过模拟后台手动操作实现,用Selenium即可完成该操作(无需Beautiful Soup,因为删除逻辑在表单编辑页的动态交互区域)。
具体操作步骤
- 确保通过Selenium登录目标Google账号,进入表单编辑页(URL格式为
https://docs.google.com/forms/d/e/[表单ID]/edit)
- 确保通过Selenium登录目标Google账号,进入表单编辑页(URL格式为
- 切换到「响应」标签:定位页面顶部导航栏的「响应」按钮,用Selenium点击进入响应管理界面
- 全选所有响应:找到响应列表头部的全选复选框(可通过CSS选择器或元素的
aria-label属性定位)并点击,无需手动处理分页,全选按钮会自动选中所有响应
- 全选所有响应:找到响应列表头部的全选复选框(可通过CSS选择器或元素的
- 执行删除操作:全选后页面会出现垃圾桶样式的删除按钮,点击后在弹出的确认窗口中再次点击「删除」完成操作
示例代码(Python + Selenium)
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 初始化Chrome浏览器(需提前配置好对应版本的驱动) driver = webdriver.Chrome() # 进入目标表单编辑页 driver.get("https://docs.google.com/forms/d/e/[你的表单ID]/edit") # 等待并切换到「响应」标签 response_tab = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, "//div[text()='响应']")) ) response_tab.click() # 等待并点击全选复选框 select_all = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.CSS_SELECTOR, "div[aria-label='选择所有响应']")) ) select_all.click() # 等待并点击删除按钮 delete_btn = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.CSS_SELECTOR, "div[aria-label='删除']")) ) delete_btn.click() # 确认删除操作 confirm_delete = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, "//span[text()='删除']")) ) confirm_delete.click() # 关闭浏览器 driver.quit()
注意事项
- 若Google Forms界面更新导致元素定位失效,可通过浏览器开发者工具(F12)重新获取元素的选择器或XPath
- 操作账号必须拥有该表单的编辑权限,否则无法看到删除选项
- 若响应数量极大,可能需要等待页面加载完成后再执行后续操作,可适当延长等待时间
内容的提问来源于stack exchange,提问作者Corbin Little
相关产品推荐
相关产品推荐

