Python~selenium填写问卷星
在学习Python 的过程中学习到selenium这个模块。
Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
Selenium 测试工具直接操控浏览器,就像真正的用户在操作一样。Selenium 可以根据的指令,让浏览器自动加载页面,获取需要的数据。
安装Selenium模块命令:pip install selenium
环境:Python 3.7
浏览器:Chrome
浏览器驱动地址(国内)
ps:根据自己的浏览器版本,下载对应的浏览器驱动。
实战测试
需求:填写问卷星。随机填写题目。
链接:问卷星链接地址
该问卷星是自己创建,用来练习selenium。一共四个题,单选,多选,排序,以及填空题。
导入测试所需要用的模块,创建一个实例。
from selenium import webdriver
import random
drive = webdriver.Chrome()
drive.get('https://www.wjx.cn/jq/58914455.aspx')
1.
首先,通过浏览器的开发者工具找到元素所在的位置。如果下图,4个li
标签便是对应的4个按钮。找出li
标签位置,这里我使用的是CSS选择器提取。
通过浏览器的开发者工具,获取到元素位置
# 会随机选择四个按钮中的其中一个。这里用到了Python内置的random模块
first_question = drive.find_elements_by_css_selector('#divquestion1 ul li')
first_question[random.randint(0,len(first_question)-1)].click()
2.
second_question = drive.find_elements_by_css_selector('#divquestion2 ul li')length = len(second_question)# 二元表达式choice = [x for x in range(length)]# 使用random模块,随机选择两个选项choice = random.choices(choice,k=int(length / 2))for i in choice:second_question[i].click()
3.
third_question = drive.find_elements_by_css_selector('#divquestion3 ul li')length = [x for x in range(len(third_question))]# 将列表length序列打乱random.shuffle(length)for i in length:third_question[i].click()
4.
fourth_question = drive.find_element_by_css_selector('#q4')
fourth_question.send_keys('hello world')
完整代码:
from selenium import webdriver
import randomdrive = webdriver.Chrome()
drive.get('https://www.wjx.cn/jq/58914455.aspx')# 这里将每一题定义成一个函数
def one():"""第一题"""first_question = drive.find_elements_by_css_selector('#divquestion1 ul li')first_question[random.randint(0, len(first_question) - 1)].click()def two():"""第二题"""second_question = drive.find_elements_by_css_selector('#divquestion2 ul li')length = len(second_question)choice = [x for x in range(length)]choice = random.choices(choice, k=int(length / 2))for i in choice:second_question[i].click()def three():"""第三题"""third_question = drive.find_elements_by_css_selector('#divquestion3 ul li')length = [x for x in range(len(third_question))]random.shuffle(length)for i in length:third_question[i].click()def four():"""第四题"""fourth_question = drive.find_element_by_css_selector('#q4')fourth_question.send_keys('hello world')# 阻塞
input()drive.quit()
注意事项:
浏览器的驱动必须和代码文件放在同一目录下。如果放在不同目录则需要加驱动所在的绝对路径。如放在D盘的python文件夹下,创建实例代码为:drive = webdriver.Chrome(executable_path='D:\\python\\chromedriver_80.0.3987.16.exe')
。
Python~selenium填写问卷星相关推荐
- python自动填写问卷星
python自动填写问卷星 参考链接1 参考链接2 用python实现自动填问卷,通过智能验证以及滑动验证 1. 下载浏览器驱动 python自动化填写问卷需要依赖浏览器驱动,这里使用的是谷歌浏览器, ...
- python + selenium 实现 问卷星自动抢讲座
python + selenium 实现 问卷星自动抢讲座,抢不到讲座的同学可以借鉴一下 这是我写的代码 from selenium import webdriver from selenium.we ...
- python+selenium 实现 问卷星自动抢讲座
python + selenium 实现 问卷星自动抢讲座 文章目录 python + selenium 实现 问卷星自动抢讲座 一.代码 二.解析 1.安装selenium库 1)PyCharm 编 ...
- python批量填写问卷星问卷
一.授人以鱼 如果想直接拿代码就用,不想了解具体设计思路,那看本节内容就够了.到文末复制代码,以下是使用教程: 需要在main函数给定3个参数,URL(问卷的链接).answer(问卷答案),num( ...
- python填写问卷星_使用Python自动填写问卷星(pyppeteer反爬虫版)
from selenium importwebdriverimporttimeimportrandomdefrun(): browser=webdriver.Chrome() browser.get( ...
- python爬虫之自动填写问卷星调查表
系列文章目录 python爬虫之自动填写问卷星调查表 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一.python爬虫填写问卷星 二.使用步骤总结 ...
- 【python】自动填写问卷星问卷及提交
前言:问卷是很好的网络调查方式之一,近年来,问卷星被广泛应用于各方面的调查.本文介绍了利用python代码自动填写问卷星基本题目,拥有自动填写.解决智能验证.批量提交问卷等功能. 目录 1.下载浏览器 ...
- python自动填写问卷_Python填写问卷星
Python填写问卷星 有些无意义的问卷作业,真的没有必要. 但是作业既然有了,那就想办法解决它把. 关于IP限制的问题,可以使用X-Forwarded-For更换IP. 只会用印象笔记markdow ...
- Selenium自动填写问卷星
Selenium自动填写问卷星 代码 注意 代码 from selenium import webdriver import random import time import numpy as np ...
最新文章
- 翻译的艺术 —— 无能为力的翻译,搞笑的音译
- Angular 动态控制 aside 标签显示和隐藏的一个例子
- Oracle 使用GSON库解析复杂json串
- 彻底搞懂javascript中的match, exec的区别
- 图像过滤,so easy~~
- 19.TCP/IP 详解卷1 --- TCP 的交互数据流
- 天正如何转为t3_[转载]天正文件转T3格式CAD图
- 关系运算符和逻辑运算符
- mocha java mv_代码覆盖Mocha
- 循环结构--for循环
- SpringBoot写配置文件报错“The elements [xxx,xxx] were left unbound.“
- 遗传基因科普(8):奇妙的双螺旋结构
- 塞班S60V5上的画图工具
- 华为Android岗面经;群面+技术面+英语面+面试题详解
- 如何利用鸟笼效应将消费者留在营销的“鸟笼”中?
- 生成pdf带跳转的书签
- 服务器系统关闭显卡加速,Windows Server2008 R2性能优化方法
- Java | 将图片转换为txt文件
- 如果用户计算机已接入,计算机应用基础第七章复习题.doc
- 支付宝担保交易接口 php,ThinkPHP实现支付宝接口功能(担保交易)
热门文章
- 使用Arcgis获取城市交通小区
- 自由与平等在某种意义上是相互矛盾的
- varchar 保存英文中文区别
- GIT 简要使用指南 克隆、分支、提交
- 制造业ERP系统开创生产设备管理黑科技
- android+qq浏览器,良心发现之作 QQ浏览器5.0安卓内测版体验
- 辩驳一个默认的说法:IE6不支持!important (转http://www.cnblogs.com/lanyueer/archive/2011/03/29/1998398.html)
- JVM原理优化及GC
- 英文学术写作:语步分析(引言)
- 运输层协议TCP与网络编程