【学习笔记】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 ...
随机推荐
- HDU - 4992 Primitive Roots (原根)
模板题,可用于求一个数的所有原根. #include<bits/stdc++.h> using namespace std; typedef long long ll; ,inf=0x3f ...
- 在MariaDB导入sql文件出现乱码解决方案
第一方式: 命令: mysql -u(用户名) -p --default-character-set=utf8(设置编码) data_name(数据库名)<文件路径 示例: 这时,会有一个假死的 ...
- spark 三种数据集的关系(二)
一个Dataset是一个分布式的数据集,而且它是一个新的接口,这个新的接口是在Spark1.6版本里面才被添加进来的,所以要注意DataFrame是先出来的,然后在1.6版本才出现的Dataset,提 ...
- table 表格
标签 <table> 标签定义HTML中的表格 <tr> 标签定义表格中的行. <th> 标签定义表格中表头的每一项.元素内部的文本通常会呈现为居中的粗体文本. ...
- 使用Navicat客户端运行SQL语句出现中文乱码
出现乱码无非就是编码方式不统一造成的,通过查阅资料解决了问题. (简 体中文系统环境支持国标 GB2312.GB18030 和 Unicode (UTF-8) 编码.它们在系统中设置的locale(亦 ...
- java服务宕机原因查询
背景 在java服务项目上线之后经常会出现宕机的情况 常见原因 内存溢出 1.查到服务进程号 [root@wms ~]# ps -ef|grep java root 6399 6069 0 08:57 ...
- UNIX下socket通信 - UDP通信
一.UNIX下socket通信: socket套接字是一种可以进行网络通信的内核对象,它是一个唯一的标示符,一般称它为socket描述符. 注意:UDP通信需要客户端先发送消息,服务端先进行等待客户端 ...
- 分析 JUnit 框架源代码
本文转载至http://www.ibm.com/developerworks/cn/java/j-lo-junit-src/ 分析 JUnit 框架源代码 理解 JUnit 测试框架实现原理和设计模式 ...
- MacBook pro管理员变成普通用户无法解锁问题
最近使用Mac的时候,把管理员的名字修改了一下,WTF?没有管理员权限了?然后就没有解锁权限了,这可以说是Mac的一个致命bug呀!下载软件也不可以了.具体我的解决方式在这里记录一下,以供和我遇到同样 ...
- react 路由
react 提供了实现路由的方式,不过需要我们下载插件 react-router-dom 当我们下载好了插件,然后我们可以通过 import {} from 'react-router-dom' 来引 ...