【记录】一个自动投票的小程序(python实现)
又是一学期一度的填问卷时期,但是求爷爷告奶奶也不会收集到太多的。所以,作为自动化专业的我就要想一种方法自动填问卷,这样不就短时间内可以“收集”到很多很多的问卷了。
首先选择开发语言:python,据说这不仅仅是一门语言,还是一个非常有效的自动化办公工具。python环境的安装可以自行百度。
首先我们需要做一下准备工作
第一步、安装依赖库
selenium:自动化web测试工具,所以我们就拿它自动化测试我们的问卷喽,安装方法也很简单。
pip install selenium
第二步、安装 相关驱动
如果是谷歌浏览器就是点击这里连接
https://npm.taobao.org/mirrors/chromedriver/
如果是火狐浏览器就是点击这里连接
https://github.com/mozilla/geckodriver/releases
下载完成之后把它放在你的那个工程目录下就行了,像这样
最后就是准备如何获取网页元素的工作了
元素位置的描述用的是一中叫xPath的语言,如果每一个选项的位置都知道了,那么在然python自动去点击它不就行了?找这个路径用的是xPath Finder这个插件,在火狐浏览器中长这样
怎么下载?在工具管理中直接打xPath Finder就行。
准备工作做完了之后,就正式开始程序的编写了。
首先,我们需要获取选项的位置信息。
以我的问卷为例。地址
https://www.wjx.cn/jq/51119308.aspx
第一步输入网址进入界面
第二步点开xPath Finder
第三步点击第一道题的第一个选项的位置便可以在左下角看到。
其中我们需要的就是这个
html/body/div[2]/div[1]/div[2]/div[1]/div/div[1]/div[2]/div[2]/fieldset/div[1]/div[2]/ul/li[1]/a
多点几个就会发现有规律
最后的li[]是控制选项选哪个,fieldset/div[]这个是控制选择题号,那么我们通过随机数函数生成一个一到四的选项,然后在一条一条的填不就行了?
如果都是问卷星的话,可以省略上述的步骤因为这些选项的位置信息是一样的,按照规则改就行。
最后一步就是写程序了
首先引入相应的包
import time
import random
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
然后就开始用python自动填写了
selenium这个工具非常好用,在python下也十分简单
举个例子
browser = webdriver.Firefox() #创建一个火狐浏览器的对象
browser.get('https://www.wjx.cn/jq/51119308.aspx') #输入你想要测试的地址
#下面就是输入操作,找到相应元素的位置然后点击它
browser.find_element_by_xpath(
"/html/body/div[2]/div[1]/div[2]/div[1]/div/div[1]/div[2]/div[2]/fieldset/div[1]/div[2]/ul/li[%s]/a"% str(
random.randint(1,2))).click()#随机生成一个一到二的随机数然后将其填入最后
browser.quit() #退出游览器
这只是一个简单的示例,详细的可以从以下下载
链接:https://pan.baidu.com/s/1xyogRHGj312nY3XAylN8jw
提取码:3xgs
欢迎关注我的博客
【记录】一个自动投票的小程序(python实现)相关推荐
- python饮料购买_Python写的一个自动售饮料小程序!
写这个程序的时候,我已学习Python将近有一百个小时,在CSDN上看到有人求助使用Python如何写一个自动售饮料的程序,我一想,试试写一个实用的售货程序.当然,只是实现基本功能,欢迎高手指点,新手 ...
- 用python编写一个掷骰子的小程序
摘要: 编写了一个掷骰子的程序,主要通过pygame模块实现了以下几点功能:1.每次点击开始键时,骰子都会转动起来.2.每次开始后点击停止键时,骰子停止并且随机停在1-6的某一个数字上.3.按下结束键 ...
- python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...
- 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例
用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29
- 用Python写一个模拟qq聊天小程序的代码实例
前言 今天小编就为大家分享一篇关于用Python写一个模拟qq聊天小程序的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Python 超简单的聊天 ...
- python美元汇率兑换程序代码_还可以这样玩?用Python完成一个在线汇率转换小程序...
原标题:还可以这样玩?用Python完成一个在线汇率转换小程序 大家好,小数在这里给大家拜个早年啦 今天给大家分享的是用Python完成一个在线汇率转换小程序,是基于一个持续更新的汇率网站实现的,让我 ...
- 用python编写一个处理报文的小程序
最近用python编写了一个处理报文的小程序,最后保存成.txt格式. 主要内容非常简单,介绍如下: 1.报文内容如下所示,比较乱,因为要输入到matalab中进行仿真验证,因此,需要将里面的'\n' ...
- 沐风:做一个会自动赚钱的小程序
当下互联网最火的莫过于小程序了,小程序具有很多天生的优势: 一.扎根于微信生态,拥微信10亿级的海量用户可挖掘. 二.用户界面和流畅度体验,可媲美原生APP. 三.开发周期短,成本低,成本相对原生AP ...
- 小程序云开发从前端到后台实战记录,开发一个完整功能的小程序
小程序云开发从前端到后台,开发一个完整功能的小程序 一.编程基本知识要求 有vue 或wpf经验者很好理解 有mongodb经验者很好理解云后台 二.理解微信体系 微信有三个平台 1.开放平台 2.公 ...
- 如何写一个自动投票工具
当然,自动投票这个违反了正常竞争,不提倡,这里只就技术问题做个探讨. 投票服务器一般的验证条件: [list] [*]IP地址不能重复 [*]Cookie验证 [*]验证码验证 [/list] 一个自 ...
最新文章
- boost program_options
- ARM QT实现多点触摸【转】
- SSM-SpringMVC-16:SpringMVC中小论注解式开发之访问方式篇
- 手动绑定数据到DatList并实现编辑,删除,取消···
- 四十六、MongoDB数据库学习
- Statement和PreparedStatement之间的区别(转)
- 启动Eclipse时,错误:WorkSpace Unavailable
- 游戏筑基之两个变量交换值与三个变量交换值的比较(C语言)
- 数字的格式化c语言课程设计,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
- StreamSets实战之路(十五)-实战篇- 数据采集与处理
- java后台截图_Java+Selenium实现后台截图网页,可运行在树莓派上
- html在线比对工具,在线文本对比工具(mergely示例)
- linux下redis常用命令
- 七步学习法 —— 如何高效学习一项技能
- 2020-11-10大众点评字体反爬抓取信息
- 02.数学建模的步骤
- 用freepy一键生成中美GDP季度对比柱状图
- 【汤家凤考研数学手稿】第四章 不定积分(就找原函数,为定积分莱布尼茨公式铺垫)
- 笔记本电脑连接wifi显示无网络访问权限怎么办?
- IObit Uninstaller 10Pro BD
热门文章
- string类的深拷贝和浅拷贝
- Python程序员关于爬虫的一些常见面试题
- redis 附近的人_Redis怎么实现查找附近的人,请看特殊数据类型Geospatial
- 【总结】1334- JS中Object的keys是无序的吗
- 武音硕士研究生《计算机音乐作曲》培训,武汉音乐学院2013年硕士研究生招生计算机音乐作曲科目考试大纲及参考书目...
- jQuery.ajax 使用点滴
- 架构系列---百度分布式唯一ID生成器UidGenerator解析
- python项目-Python 的练手项目有哪些值得推荐?
- AspectJ in Action 第2版 中文版 简明的内容
- b标签、Strong标签、h1标签的区别以及使用