python+selenium 实现 问卷星自动抢讲座
python + selenium 实现 问卷星自动抢讲座
文章目录
- python + selenium 实现 问卷星自动抢讲座
- 一、代码
- 二、解析
- 1、安装selenium库
- 1)PyCharm 编辑器
- 2)IDLE
- 2、Selenium 简介及使用
- 3、搞定收工
一、代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECdef autoFillSpace(username,sid,dept,myclass,phone):chromeOptions = webdriver.ChromeOptions() # 实例化browser = webdriver.Chrome(chrome_options=chromeOptions)wait = WebDriverWait(browser, 3) # 等待时间browser.get(url) # 获取问卷星 url# 问卷详情# 姓名usernameIn = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="q1"]'))) # F12查看,匹配对应的idusernameIn.clear()usernameIn.send_keys(username) # 这个传入的参数不能跟上面的对象重复# 学号sidIn = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="q2"]')))sidIn.clear()sidIn.send_keys(sid)# 学院deptIn = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="q3"]')))deptIn.clear()deptIn.send_keys(dept)# 班级myclassIn = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="q4"]')))myclassIn.clear()myclassIn.send_keys(myclass)# 手机号码phoneIn = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="q5"]')))phoneIn.clear()phoneIn.send_keys(phone)# 提交submit = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@id="ctlNext"]')))submit.click()if __name__ == '__main__':url ='https://www.wjx.top/m/94513751.aspx' # 问卷星的链接username = '不可能打工' # 姓名sid = '20201020' # 学号dept = 'xx学院' # 学院myclass = '自动化3班' # 班级phone = '13000000000' # 手机号码autoFillSpace(username,sid,dept,myclass,phone)
二、解析
1、安装selenium库
不同的小伙伴可能使用不同的编辑器,下面对常见的两种编辑器进行库的安装讲解
1)PyCharm 编辑器
将上面的代码拷贝到你的编辑器里,有
selenium
的地方会爆红,就是因为本地没有安装这个包,下面我跟大家说下如果进行安装。
打开“文件 --> 设置”:
查看本地是否有 selenium 包
,如果有,跳到下一步,如果没有,点击右上方 “绿色的 +
号,然后搜索这个包,点击 install 安装:
2)IDLE
IDLE 是 Python 所内置的开发与学习环境。使用 IDLE 开发的小伙伴,安装 selenium 包
的方式与上面用 PyCharm 不太一样,具体方式如下:
键盘按 ” win + R “ ,输入cmd ,进行命令行窗口:
在命令行窗口用命令 pip list
查看你当前已经安装的包,看看是否有 selenium 包
,
C:\Users\username>pip list
Package Version
---------------------------------- ----------
selenium 3.141.0
如果没有的话,通过下面命令安装
pip install selenium
2、Selenium 简介及使用
Selenium 是 web 自动化测试工具集,Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括 IE(7, 8, 9, 10, 11),Safari,Google Chrome,Opera 等。
Selenium3.x 调用浏览器必须有一个 webdriver 驱动文件,
我使用的 Chrome 浏览器,下面以 Chrome 浏览器为例。
先进入到 ”帮助 -> 关于“ 查看浏览器版本:
然后接下来需要安装Chrome 驱动文件,进入到谷歌浏览器驱动的下载网址 http://chromedriver.storage.googleapis.com/index.html
找到对应版本的驱动文件:
(大版本对应,最后的小版本号可以不对应,没什么影响的)
然后选择你当前的操作系统,下载压缩文件并解压:
(注:win64系统对win32向下兼容,Windows系统直接下载 chromedriver_win32.zip
即可)
解压后可以看到一个 .exe
应用程序,将这个应用程序文件拷贝并粘贴到以下两个地方:
(1)C:\Program Files (x86)\Google\Chrome\Application
(2)python 的安装目录,我这里的路径是:
注:
如果不安装相应版本的驱动文件,待会运行程序有可能会报错:”selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’“。
主要就是因为 selenium 模拟的客户端对浏览器的操作,但相应浏览器的驱动版本不匹配导致的。
3、搞定收工
到这里,项目就可以成功运行了,不会报错了,舒服舒服,终于可以快快乐乐的抢到讲座了!!!
python+selenium 实现 问卷星自动抢讲座相关推荐
- python + selenium 实现 问卷星自动抢讲座
python + selenium 实现 问卷星自动抢讲座,抢不到讲座的同学可以借鉴一下 这是我写的代码 from selenium import webdriver from selenium.we ...
- 问卷星定时抢讲座(可以跳过最后一步智能验证)
问卷星定时抢讲座(可以跳过最后一步智能验证) 前言 环境配置 代码 参考 前言 研究生期间第一次没有抢到讲座,需求是第一次生产力,于是写了一个脚本,就可以轻松的抢讲座啦~ 环境配置 编辑器:有一个vs ...
- JAVA、Python、selenium、问卷星自动脚本
项目地址 https://gitee.com/Hardy1/questionnaire-star-script 前期准备 配置jdk 安装python 下载安装mitmproxy 代码实现 项目中se ...
- Python~selenium填写问卷星
在学习Python 的过程中学习到selenium这个模块. Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样. Selenium ...
- Python、Selenium实现问卷星自动填写(内含适配个人问卷的方法)
- Python selenium 实现大麦网自动抢票,简单的实现全购票过程
前言 大麦网是中国综合类现场娱乐票务营销平台,业务覆盖演唱会. 话剧.音乐剧.体育赛事等领域 今天,我们要用代码来实现他的购票过程 先来看看完成后的效果是怎么样的 开发环境 版 本:anaconda( ...
- 问卷星自动填写python selenium脚本(2021vim版,亲测有效,看这一篇就够了)
目录 前言 一.前期准备 二.具体步骤 1.导入库与预定义变量 2.打开浏览器,防止识别为脚本 3浏览问题,选择问题 4提交按钮,验证 全部代码 前言 问卷星已经成为收集问卷的一个很重要的工具,有时可 ...
- Python爬虫拓展应用:最新版本问卷星自动刷,包括解决智能验证、滑块等问题
Python爬虫拓展应用: 最新版本问卷星自动刷,包括:解决智能验证.滑块等问题 Python爬虫自动刷"问卷星"网站问卷 爬虫运行准备 爬虫运行代码 代码解释 参考博客 Pyth ...
- 用Python实现问卷星自动填写(超详细!!!)
用Python实现问卷星自动填写(超详细!!!) 前言 一.配置环境 1.1安装依赖 1.2安装驱动 二.实战处理 2.1.引入库函数 2.2.程序所需函数详解 (1)自定义单选函数 (2)自定义多选 ...
最新文章
- 正确配置Linux系统ulimit值的方法
- JDBC操作之连接和关闭mysql数据库
- java sleep方法_百战程序员:java线程的休眠和回复
- 收集到的非常好的第三方控件
- ARMA模型的性质 1
- 实际项目开发管理流程图
- java微信公众号百度地图,微信企业号开发之微信考勤百度地图定位
- chrome安装油猴插件
- 如果小米开放购买会怎么样?
- 联想一键恢复系统教程
- java 苹果cms 萌果_苹果cms打包app
- 驾考计算机播报原理,科目三电子路考流程详解 考驾照的都看看!
- Matlab论文插图绘制模板第28期—柱状图(带误差棒errorbar)
- MySQL 运维 - 从零开始学习 | 超详细
- 计算机安装不了cad2007,win10系统电脑中安装cad2007不兼容无法打开的还原方法
- JS实战面向对象 - 贪吃蛇
- set_input_delay/set_output_delay
- PinPoint使用教程
- 北大软件工程 计算机技术,2019年北京大学软件工程细致入微考研经验分享
- Android文档及学习资料整理 【至2011年7月】