如下页面,一个测评功能,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页面,随机选择一个选项的更多相关文章

  1. Java-Selenium,获取下拉框中的每个选项的值,并随机选择某个选项

    今天逛51testing,看见有人问这个问题.现在以Select标签为例. 1.首先看页面中的下拉框,如图: 2.F12查看页面源代码,如下 <select class="form-c ...

  2. go语言,golang学习笔记4 用beego跑一个web应用

    go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...

  3. [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest)

    [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支 ...

  4. OpenGL学习笔记:拾取与选择

    转自:OpenGL学习笔记:拾取与选择 在开发OpenGL程序时,一个重要的问题就是互动,假设一个场景里面有很多元素,当用鼠标点击不同元素时,期待作出不同的反应,那么在OpenGL里面,是怎么知道我当 ...

  5. go语言,golang学习笔记2 web框架选择

    go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...

  6. 微信小程序开发:学习笔记[8]——页面跳转及传参

    微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...

  7. 【转】Pandas学习笔记(二)选择数据

    Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...

  8. QML学习笔记(五)— 做一个简单的待做事项列表

    做一个简单的QML待做事项列表,能够动态添加和删除和编辑数据 GitHub:八至 作者:狐狸家的鱼 本文链接:QML学习笔记(五)— 做一个待做事项列表 主要用到QML:ListView 效果 全部代 ...

  9. php array_rand()函数从数组中随机选择一个或多个元素

    php使用array_rand()函数从数组中随机选择一个或多个元素的方法. 使用array_rand() 函数从数组中随机选出一个或多个元素,并返回.  array_rand(array,numbe ...

随机推荐

  1. CSS基础学习-10.CSS伸缩盒(老版本)

  2. hexo个人博客添加宠物/鼠标点击效果/博客管理

    1.添加宠物 博客宠物模型:https://github.com/xiazeyu/live2d-widget-models 模型对应的动画效果:https://huaji8.top/post/live ...

  3. anaconda应答文件

    一.anaconda和isolinux anaconda是linux安装程序的安装想到,在我们的系统安装光盘内有一个isolinux的目录,这个目录是用来启动光盘镜像的,下面我们说一下这个目录下的文件 ...

  4. (九)zabbix监控web应用

    1)web应用监控介绍 使用zabbix自带的web场景可以监控url的状态码,响应时间,url的下载速度,非常的棒 思路:定义模板-->创建应用集--->定义web场景--->定义 ...

  5. MySQL的分表与分区

    MySQL分表分区是解决大数据量导致MySQL性能低下的两种方法. 什么是MySQL分表 从表面意思上看,MySQL分表就是将一个表分成多个表,数据和数据结构都有可能会变.MySQL分表分为垂直分表和 ...

  6. Java一棵树之001线程

    一.理解浓缩 线程是计算机cpu调度的最小的单位,并且jvm中的线程和机器中的线程是一一对应的,在现代编程中,很多时候为了充分利用机器资源而使用多线程,当然很多时候工作中并未使用线程,还是根据场景来选 ...

  7. oracle数据库 ORA-01461: can bind a LONG value only for insert into a LONG column解决方案

    oracle编码分为ZHS16GBK.utf8网上很多都是说驱动包 ojdbc6 和 ojdbc14 的问题实际上在遇到这个问题是需要同时加载两个jar 分别是class12.jar和nls_char ...

  8. Confluence 6.15 锚点(Anchor)宏

    允许你链接到页面的特定部分.有关如何使用锚点的内容,请参考页面 Anchors 页面中的详细内容. Wiki 标记(markup) 示例 宏名称: anchor 宏内容:None. {anchor:h ...

  9. hbase hbck

    Number of Tables: 7Number of live region servers: 3Number of dead region servers: 0Number of empty R ...

  10. 将本地文件夹同步到github仓库中

    参考博客 本地生成rsa密钥 cd ~/.ssh # 查看是否已经生成过密钥 ssh-keygen -t rsa -C "username on github" # -C表示注释 ...