环境安装

第三方库下载:pip install pyppeteer

驱动下载:我使用的是淘宝镜像中的chromium,进入这个网址 chromium,下载后解压到一个文件夹

了解pyppeteer

Pyppeteer 是一款非常高效的 web 自动化测试工具,由于 Pyppeteer 是基于 asyncio 构建的,它的所有属性和方法几乎都是 coroutine (协程) 对象,因此在构建异步程序的时候非常方便,天生就支持异步运行。

程序构建的基本思路是新建 一个 browser 浏览器 和 一个 页面 page。

问卷星练手

目标网站:https://www.wjx.cn/jq/78696684.aspx

要求:1. 将所有的单选题随机选择
2. 所有的多选题随机选择两个
3. 填空题随便填入一句话
4. 点击提交按钮之前,进行选择是否提交

着手:当我们打开目标后,发现它屏蔽了右键,此时我们可以按F12,或者Fn+F12
我们就可以很快找到题目以及选项以匹配,并且发现16题被隐藏了

思路就是先找出单选题、多选题和填空题(这些也可以通过代码判断得知);其次获取29个题目,单选题随机选取,多选题随机选两个。详情请看代码:

import asyncio
from pyppeteer import launch
import randomasync def main():# launch 方法会新建一个 Browser 对象,然后赋值给 browserbrowser = await launch({# 路径就是你刚才解压的驱动的位置'executablePath': 'F:\\BaiduNetdiskDownload\\chrome-win\\chrome.exe',# Pyppeteer 默认使用的是无头浏览器,所以要显示需要给False'headless': False})# 调用 newPage 方法相当于浏览器中新建了一个选项卡,同时新建了一个 Page 对象page = await browser.newPage()# 设置页面视图大小await page.setViewport(viewport={'width': 1280, 'height': 800})# Page 对象调用了 goto 方法就相当于在浏览器中输入了这个 URL,浏览器跳转到了对应的页面进行加载,加载完成之后再调用 content 方法,返回当前浏览器页面的源代码await page.goto('https://www.wjx.cn/jq/78696684.aspx')# 单选题随机选取for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 22, 28]:simple_sel = await page.querySelectorAll(f'#divquestion{i} ul li label')await random.choice(simple_sel).click()await asyncio.sleep(1)# 多选题随机选取两个for j in [12, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27]:multiple_sel = await page.querySelectorAll(f'#divquestion{j} ul li label')# 这里使用sample而不用choice,因为要避免choice的重复lis = random.sample(multiple_sel, k=2)for li in lis:await li.click()# 填空题await page.type('#divquestion29 textarea', 'hello world')c = input('请输入1或0(1表示提交,其他表示不提交):')if c == 1:# 找到提交按钮提交await page.querySelectorAll('submit_table')else:await page.close()asyncio.get_event_loop().run_until_complete(main())

pyppeteer实现问卷星自动填写相关推荐

  1. JavaScript——问卷星自动填写

    一.前言: 我们学校要刷学术章,有些学术章又是指定在某个时间点填写问卷星的问卷报名的.但是由于我手速慢,导致总会有些时候报不上名,于是想着搞个代码实现自动填写问卷星的报名表.一顿操作后,在github ...

  2. 用Python实现问卷星自动填写(超详细!!!)

    用Python实现问卷星自动填写(超详细!!!) 前言 一.配置环境 1.1安装依赖 1.2安装驱动 二.实战处理 2.1.引入库函数 2.2.程序所需函数详解 (1)自定义单选函数 (2)自定义多选 ...

  3. 学习python实现问卷星自动填写问卷

    学习python实现问卷星自动填写问卷 文章目录 学习python实现问卷星自动填写问卷 任务一:找帖子 思路一: 配置环境: 利用CSS选择器对页面进行解析 我们发现,我们所有的题目的回答的选项的标 ...

  4. python问卷星自动填写

    疫情期间闲着无聊,每天都要填写问卷星来报告健康情况,于是就拿python爬虫写了一个问卷星自动填写系统,一起来看看吧_ import requests import re import time im ...

  5. Python实现问卷星自动填写和选择

    Python实现问卷星自动填写和选择 啊哈哈哈,我朋友叫我帮他填写问卷星,,我就直接写了个python脚本帮他一次性解决 全随机,全自动,一开始我用的是BP直接抓包发送,不过发送频率过快会让你验证,, ...

  6. 问卷星自动填写JavaScrip脚本使用教程

    本文所用到的案例: https://blog.csdn.net/weixin_44343074/article/details/106133929?ops_request_misc=%257B%252 ...

  7. 问卷星自动填写python selenium脚本(2021vim版,亲测有效,看这一篇就够了)

    目录 前言 一.前期准备 二.具体步骤 1.导入库与预定义变量 2.打开浏览器,防止识别为脚本 3浏览问题,选择问题 4提交按钮,验证 全部代码 前言 问卷星已经成为收集问卷的一个很重要的工具,有时可 ...

  8. python爬取问卷星内容,Python 问卷星自动填写 爬虫

    Python帮你填问卷星 ps:网上看到的代码,虽然技术不深,但我觉得挺有用的,所以在此分享给大家 在某段时间朋友圈是否一直充斥着各种问卷调查,为了达成某种要求我们不断向好友求助填写问卷,今天,我就把 ...

  9. 问卷星自动填写,智能验证和滑动块

    之前在 这里 介绍了基本的问卷星填写方法,然而博主在之后自动填写时发现经常需要智能验证,而且还加一个滑动块拖动,于是今天继续研究一下添加这个功能. 下面的示例是电脑版的问卷星页面,博客里的 ff3.p ...

最新文章

  1. 斯坦福Google | 面向机器人的机器学习(附63页PPT下载)
  2. oracle asm dd命令,ASM来用DD命令模拟数据块损坏
  3. u盘扩容软件_扩容盘的认识与检测和量产还原
  4. Linux系统中软件的“四”种安装原理详解:源码包安装、RPM二进制安装、YUM在线安装、脚本安装包...
  5. python数据分析pandas_Python数据分析之 pandas汇总和计算描述统计
  6. [react] 在React中怎么阻止事件的默认行为?
  7. 中国联通回应5G入网问题:尚未对公众客户开放
  8. php伪静态之APACHE配置篇
  9. 《推荐系统实践》算法纯享(附代码链接)(二)—— 协同过滤篇
  10. mdl文件是c语言,mdl文件扩展名,mdl文件怎么打开?
  11. Must specify unique android:id, android:tag, or have a parent with an id for 异常
  12. 虚拟机下Linux单击变双击问题的解决办法
  13. 微信小程序开发教程+工具插件
  14. 浮动时间怎么计算_轻松搞定PMP考试的计算题(四)时间参数计算
  15. 肌营养不良最新研究进展(2021年)
  16. 工业互联网平台TOP15发布!附15个平台详细介绍!
  17. c语言怎么让程序换页,c语言编程系统,如何换页显示?
  18. 彼得林奇的成功投资三——回购+提高股息+无多元化
  19. 手机定位导航不准确?做到这几点就好了!
  20. 加密技术——对称与非对称加密技术简述

热门文章

  1. php的sql什么意思,php sql删除语句是什么
  2. 2022款联想小新Pro16,联想小新air15,thinkbook16+选哪个好
  3. 【OBS】OBS Studio 的安装、参数设置和录屏、摄像头使用教程
  4. 采购招投标系统-高效管控招采流程-降低采购成本
  5. Dev-c++怎么设置背景色
  6. 《筱静观察》第三季第2期丨区块链在金融开放与监管中的作用
  7. C/C++ : 12-24小时制转换
  8. verilog使用1bit全加器实现4bit全加器【行波进位法】
  9. python爬歌词生成词云图_Python爬虫摇滚网易云音乐歌词生成词云图
  10. 关于Axure RP 的授权,我猜你还想知道......