问卷星指定内容批量自动填写的Python+Selenium+Pandas+Excel解决方案

本文介绍了使用Python的Selenium库结合Pandas和Excel进行问卷星问卷内容的批量自动填写方法。虽然没有进行题型判断,但通过try/except处理了定位问题和矩阵单选题的填写,整体容错率高。在处理矩阵单选题时,采用了随机填写并在Excel模板中留白。由于题目数量多,暂未触发人机验证。对于特定情况下的元素定位问题,通过JavaScript解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)借鉴了不少大神的解决方法,因为是批量导入数据,所以单选多选并不重要(单选题的起止数据相同,多选题不同),故而没做题型判断。
(2)有问题的地方直接用try/excpet容错了,比如说题号跳转时的无法定位,以及矩阵单选题没法填写的问题。
(3)最后用单独的段落来处理矩阵单选题,因为这部分采用随机填写,因此在Excel导入时直接留白就行了。总体来说容错率比较高,但是效果比较好。
(4)本身问卷选题比较多,每道题填写时预留足够的时间不需要太多,因此暂且避免了人机验证(谢不杀之恩)。
备注:某种特定情况下(选题较少),会出现selenium无法定位的问题,需要滚动鼠标到选项(或者直接滚屏)才能正确运行,这个问题没法try掉,所以用了js语句来处理。

data.head()

完整代码如下(url请自行参考):

from selenium import webdriver
import time
import random
import pandas as pd

start_time = time.time()  #计算程序运行时间
data = pd.read_excel('data.xlsx',sheet_name=0)  #读取数据文件
driver = webdriver.Chrome()  #调用chrome浏览器

# 获取问卷问题
def get_questions(url):
	# 模拟登录问卷
    driver.get(url)
    # 通过class定位问卷题目所在tag
    questions = driver.find_elements_by_class_name('div_question')
    ret
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值