问卷自动填写脚本

简介

懒人专用刷问卷脚本! 害怕验证码!
本文基于Selenium+chromedriver实现问卷自动填写。目前只支持单选和多选题型,暂不支持填空题。

原理

通过检查问卷星的网页代码,我们会发现一个规律:
每道题的选项答案会有一个共同特征: a[rel='q题目号_选项号']
因此我们可通过代码定位第一题的A选项:

find_element_by_css_selector("a[rel='q1_1']")

详细原理我有时间再补充完整 !ovo

代码展示

from selenium import webdriver
import time
import random

for i in range(n):           # 控制填写数量
    driver = webdriver.Chrome()
    driver.get("https://")   #括号内填写问卷地址
    time.sleep(1)

    xx = random.randint(1, 2)            
    if xx == 1:
        driver.find_element_by_css_selector("a[rel='q1_1']").click()
        time.sleep(1)
    elif xx == 2:
        driver.find_element_by_css_selector("a[rel='q1_2']").click()
        time.sleep(1)
    
    driver.find_element_by_id('submit_button').click()    # 提交问卷
    time.sleep(1)
    driver.quit()
    time.sleep(5)    # 关闭问卷