当前位置: 首页 > news >正文

自动化测试基础篇--Selenium单选框(Radio)复选框(CheckBox)

一、什么是单选框、复选框?

二、单选框:radio

三、复选框:checkbox

四、判断是否勾选:is_selected()

1.有时候这个选项框,本身就是选中状态,如果我再点击一下,它就反选了,这可不是我期望的结果,那么可不可以当它是没选中的时候,我去点击下;当它已经是选中状态,我就不点击呢?那么问题来了:如何判断选项框是选中状态?
2.判断元素是否选中这一步才是本文的核心内容,点击选项框对于大家来说没什么难度。获取元素是否为选中状态,打印结果如下图。
3.返回结果为bool类型,没点击时候返回False,点击后返回True,接下来就很容易判断了,既可以作为操作前的判断,也可以作为测试结果的判断。

五、HTML Demo源码

 

 1 <html>  
 2     <head>  
 3         <meta http-equiv="content-type" content="text/html;charset=utf-8" />  
 4         <title>Checkbox</title>  
 5     </head>  
 6     <body>  
 7         <h3>复选框:CheckBox</h3>  
 8         <form>  
 9             <!-- <label for="c1">checkbox1</label> -->  
10             <input type="checkbox" id="c1" />checkbox1<br>  
11             <!-- <label for="c2">checkbox2</label> -->  
12             <input type="checkbox" id="c2" />checkbox2<br>  
13             <!-- <label for="c3">checkbox3</label> -->  
14             <input type="checkbox" id="c3" />checkbox3<br>  
15         </form>  
16         <h3>单选:Radio</h3>
17         <form>  
18             <label  value="radio"></label>   
19             <input type="radio"   name="sex" value="male" id="as"/><br>  
20             <label  value="radio1"></label>  
21             <input type="radio"   name="sex" value="female" id="sd"/>  
22         </form> 
23 <!-- <form>  
24 <input type="radio" name="sex" value="male" /> Male  
25 <br />  
26 <input type="radio" name="sex" value="female" /> Female  
27 </form> -->    
28     </body>  
29 </html>

 

六、参考代码

 

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # @File    : checkboxx.py
 4 # @Software: PyCharm
 5 from selenium import webdriver
 6 import time
 7 
 8 url = 'file:///C:/Users/Administrator/Desktop/demo.html'
 9 browser = webdriver.Chrome()
10 browser.get(url)
11 
12 def radioo():
13     # 单选框定位、勾选
14     radios = browser.find_elements_by_id('as')
15     for radio in radios:
16         radio.click()
17         time.sleep(2)
18     time.sleep(2)
19 
20 def checkboxx():
21     # 复选框定位、勾选
22     inputs = browser.find_elements_by_tag_name('input')
23     for input in inputs:
24         if input.get_attribute('type') == 'checkbox':
25             input.click()
26             time.sleep(2)
27     browser.find_elements_by_css_selector('input[type=checkbox]').pop().click()
28     time.sleep(2)
29 
30 def is_select():
31     # 勾选前判断是否勾选
32     t = browser.find_element_by_id('c1').is_selected()
33     print(t)
34     browser.find_element_by_id('c1').click()
35     # 点击后判断是否勾选
36     r = browser.find_element_by_id('c1').is_selected()
37     print(r)
38     browser.quit()
39 if __name__ == '__main__':
40     radioo()
41     checkboxx()
42     is_select()
写在最后的话:这些都是小编自己一个字一个字敲上去的,原创算不上,可能很多类似的资料,小编写这个的目的是为了激励自己在学习道路上养成良好的习惯,所以转载请注明出处,谢谢!

 

转载于:https://www.cnblogs.com/sanzangTst/p/7686602.html

相关文章:

  • 基于图论的立体匹配方法研究----绪论
  • rails migration 增加索引
  • len(),range()函数
  • 长城电脑整体解决方案护航智慧城市安全
  • Java语法基础--运算
  • 问题010:在Java中,什么是常量,什么是变量?
  • 算法(四)--------动态规划问题
  • Mock Server 入门
  • 如何判断c语言的变量类型
  • paper 58 :机器视觉学习笔记(1)——OpenCV配置
  • Spring session redis ERR unknown command 'CONFIG'
  • android音乐播放器开发 SweetMusicPlayer 摇一摇换歌
  • ORACLE数据库中查找重复数据
  • webpack
  • 计算二重定积分
  • 【刷算法】求1+2+3+...+n
  • Angular4 模板式表单用法以及验证
  • C学习-枚举(九)
  • java取消线程实例
  • Puppeteer:浏览器控制器
  • React组件设计模式(一)
  • Sass Day-01
  • SpiderData 2019年2月16日 DApp数据排行榜
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 计算机在识别图像时“看到”了什么?
  • 简单实现一个textarea自适应高度
  • 模型微调
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 软件开发学习的5大技巧,你知道吗?
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 首页查询功能的一次实现过程
  • 算法-图和图算法
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 通过几道题目学习二叉搜索树
  • 微信小程序设置上一页数据
  • 微信小程序填坑清单
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • MyCAT水平分库
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​香农与信息论三大定律
  • $.each()与$(selector).each()
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (一)Dubbo快速入门、介绍、使用
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • ..回顾17,展望18
  • .Net 4.0并行库实用性演练
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NetCore 如何动态路由
  • .netcore如何运行环境安装到Linux服务器