Skip to content

Auto-WJX 是一个基于 Python 和 Selenium 的自动化工具,用于自动填写问卷星(WJX)问卷。该工具通过模拟用户行为,能够自动分析问卷结构,并根据配置文件进行智能填写,支持多次填写问卷。

Notifications You must be signed in to change notification settings

panda-lsy/Auto-WJX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auto-WJX

项目简介

Auto-WJX 是一个基于 Python 和 Selenium 的自动化工具,用于自动填写问卷星(WJX)问卷。该工具通过模拟用户行为,能够自动分析问卷结构,并根据配置文件进行智能填写,支持多次填写问卷。

功能特点

  • 自动分析问卷结构并生成配置文件
  • 支持单选题、多选题和文本填空题的自动填写
  • 基于权重的随机选择,使填写结果更加真实
  • 模拟人工操作,添加随机延迟
  • 支持多页问卷和"开始作答"类型的问卷
  • 自定义填写次数,可批量提交多份问卷
  • 针对问卷星的各种元素结构进行了优化

安装指南

前提条件

  • Python 3.6 或更高版本
  • Chrome 浏览器
  • Chrome WebDriver

安装步骤

  1. 克隆或下载此项目到本地
  2. 安装所需的 Python 依赖包:
pip install -r requirements.txt
  1. 将 ChromeDriver (chromedriver.exe) 放置在项目目录中

使用方法

步骤一:生成配置文件

  1. 首次运行配置生成器:
python config_generator.py
  1. 生成器会生成read_link.txt文件

  2. 编辑 read_link.txt 文件,写入问卷星链接

  3. 程序会自动分析问卷结构并生成 config.json 文件

步骤二:自定义配置(可选)

编辑 config.json 文件,根据需要调整:

  • 问题选项的权重
  • 问卷填写次数 (repeat_count)
  • 操作延迟时间
  • 其他问卷参数

步骤三:运行自动填写

python main.py

程序会根据配置自动打开浏览器,填写并提交问卷。

配置文件说明

config.json 包含以下主要设置:

{
    "url": "问卷星链接",
    "has_start_button": "True/False",
    "pages": [
        {
            "questions": [
                {
                    "id": "问题ID",
                    "type": "问题类型",  // "radio", "checkbox", 或 "text"
                    "title": "问题标题",
                    "xpath": "问题元素的xpath",
                    "options": [
                        {
                            "text": "选项文本",
                            "weight": "选择权重"  // 权重越高,被选中概率越大
                        }
                    ],
                    // 多选题的额外配置
                    "min_select": "最少选择数量",
                    "max_select": "最多选择数量"
                }
            ]
        }
    ],
    "submit": {
        "xpath": "提交按钮的xpath"
    },
    "delay": {
        "min_time": "最小延迟秒数",
        "max_time": "最大延迟秒数"
    },
    "repeat_count": "重复填写次数"  // 设置要填写的问卷份数
}

注意事项

  1. 合规使用:请遵守问卷发布方的规定,不要恶意填写或提交虚假信息

  2. 避免检测

    • 适当调高 delay 参数,模拟真实填写速度
    • 尝试使用其他浏览器选项,如添加代理
    • 不要在短时间内提交过多问卷
  3. 问卷兼容性

    • 工具针对常见问卷类型进行了优化,但可能无法支持特殊问卷
    • 如遇到填写失败,可尝试调整 config.json 中的 XPath
  4. 浏览器设置

    • 如需在后台运行,可在 main.py 中取消注释 chrome_options.add_argument('--headless')
    • 如遇浏览器兼容性问题,请更新 Chrome 和 ChromeDriver 到匹配版本

批量填写功能

通过设置 config.json 中的 repeat_count 参数,可以实现自动填写多份问卷:

"repeat_count": 5  // 设置填写5份问卷

每次填写会重新启动浏览器,并在填写之间添加随机延迟,以避免被检测为自动填写。

问题排查

如果遇到问题:

  1. 确保 ChromeDriver 版本与 Chrome 浏览器版本匹配
  2. 检查问卷链接是否有效
  3. 确保配置文件中的 XPath 正确
  4. 尝试增加延迟时间,减少被识别为机器人的可能性

扩展与优化

如需进一步优化工具:

  1. 添加随机用户代理和IP代理
  2. 增加更多问题类型的支持
  3. 实现更智能的问卷内容生成
  4. 添加填写日志和数据统计功能

希望 Auto-WJX 能帮助你高效完成问卷填写!

About

Auto-WJX 是一个基于 Python 和 Selenium 的自动化工具,用于自动填写问卷星(WJX)问卷。该工具通过模拟用户行为,能够自动分析问卷结构,并根据配置文件进行智能填写,支持多次填写问卷。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages