【学习笔记】APP页面,随机选择一个选项
如下页面,一个测评功能,30个题目,每题的答案选项一样:

要实现每题自动随机选择一个答案
方法一:定义一个5个选项的列表,循环30次,然后使用random.shuffle打乱列表顺序,根据列表元素定位第几个选项
a = ['完全同意', '同意', '不知道', '不同意', '完全不同意']
for i in range(0, 30):
random.shuffle(a)
if a[0] == "完全同意":
driver.find_element_by_xpath('//*[@text="完全同意"]').click()
if a[0] == "同意":
driver.find_element_by_xpath('//*[@text="同意"]').click()
if a[0] == "不知道":
driver.find_element_by_xpath('//*[@text="不知道"]').click()
if a[0] == "不同意":
driver.find_element_by_xpath('//*[@text="不同意"]').click()
if a[0] == "完全不同意":
driver.find_element_by_xpath('//*[@text="完全不同意"]').click()
方法二:定位到所有得元素,组成一个列表,用random.choice随机取
a = '//*[@text="完全同意"]'
b = '//*[@text="同意"]'
c = '//*[@text="不知道"]'
d = '//*[@text="不同意"]'
e = '//*[@text="完全不同意"]'
list = [a, b, c, d, e]
for i in range(0, 30):
ell = random.choice(list)
driver.find_element_by_xpath(ell).click()
方法三:成一个1-5的随机数,然后根据随机数定位第几个选项(和方法一类似)
for i in range(0, 30):
a = random.randint(1,5)
if a == 1:
driver.find_element_by_xpath('//*[@text="完全同意"]').click()
if a == 2:
driver.find_element_by_xpath('//*[@text="同意"]').click()
if a == 3:
driver.find_element_by_xpath('//*[@text="不知道"]').click()
if a == 4:
driver.find_element_by_xpath('//*[@text="不同意"]').click()
if a == 5:
driver.find_element_by_xpath('//*[@text="完全不同意"]').click()
【学习笔记】APP页面,随机选择一个选项的更多相关文章
- Java-Selenium,获取下拉框中的每个选项的值,并随机选择某个选项
今天逛51testing,看见有人问这个问题.现在以Select标签为例. 1.首先看页面中的下拉框,如图: 2.F12查看页面源代码,如下 <select class="form-c ...
- go语言,golang学习笔记4 用beego跑一个web应用
go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...
- [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest)
[ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支 ...
- OpenGL学习笔记:拾取与选择
转自:OpenGL学习笔记:拾取与选择 在开发OpenGL程序时,一个重要的问题就是互动,假设一个场景里面有很多元素,当用鼠标点击不同元素时,期待作出不同的反应,那么在OpenGL里面,是怎么知道我当 ...
- go语言,golang学习笔记2 web框架选择
go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...
- 微信小程序开发:学习笔记[8]——页面跳转及传参
微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...
- 【转】Pandas学习笔记(二)选择数据
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- QML学习笔记(五)— 做一个简单的待做事项列表
做一个简单的QML待做事项列表,能够动态添加和删除和编辑数据 GitHub:八至 作者:狐狸家的鱼 本文链接:QML学习笔记(五)— 做一个待做事项列表 主要用到QML:ListView 效果 全部代 ...
- php array_rand()函数从数组中随机选择一个或多个元素
php使用array_rand()函数从数组中随机选择一个或多个元素的方法. 使用array_rand() 函数从数组中随机选出一个或多个元素,并返回. array_rand(array,numbe ...
随机推荐
- [uboot] (番外篇)uboot串口&console&stdio设备工作流程 (转)
[uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)[project X] tiny210(s5pv210)从存储设备加载代码到D ...
- kylin实战(一)
kylin适用场景 OLAP 它适合数据量大,查询维度多,但是业务改动不频繁的场景.因为业务多,则kylin的cube很多.每次业务变更,kylin修改的工作量大,且每次全量跑数据耗费时间比较长. 它 ...
- Springboot项目报错【java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader】
1.发生问题: 升级了JDK9,发现原先的springboot项目起不来了,以为是maven中jdk配置有问题. 于是在pom中添加了 <plugin> <groupId>or ...
- h5构建页面(rem布局准备)
新建一个flex.js ! function () { function t(t) { return this.config = t, this } t.prototype = { reset: fu ...
- Python之asyncio模块的使用
asyncio模块作用:构建协程并发应用的工具 python并发的三大内置模块,简单认识: .multiprocessing:多进程并发处理 .threading模块:多线程并发处理 .asyncio ...
- Genymotion 配置
配置Android的SDK
- Codevs 4829 [DP]数字三角形升级版
4829 [DP]数字三角形升级版 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题目描述 Description 从数字三角形的顶部(如图,第一行的5表示行数)到底 ...
- PHP-过滤器-连接数据库-解析XML
PHP 过滤器 what? PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入. 验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分. 设计 PHP 的过滤器扩展的目的 ...
- 在RestController中获取各种信息的方法
内容 获取方法 URL中路径的一部分 首先需要在RequestMapping做映射, 之后在方法中可以通过注解使用映射的变量@GetMapping("/{id}")public S ...
- flask登录功能实现的思路
flask登录实现过程思路:前端创建表单,post方法,userno,pwd参数 后端首先创建登录验证函数check(验证函数是指通过request.get来获取前端的userno,pwd.然后将两个 ...