Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)【转载】

摘要:
收音机和检查收音机:性别男性˂inputname=“sex”value“female”value=这是一个很好的例子scratch˂--男性女性--˃第三,radio:radio1。首先,找到选择框的位置。2.找到id,单击图标,代码如下。3.先单击男孩,等待10秒,然后单击女孩观察页面变化。4.复选框:checkbox 1。选中单个框,例如selenium,您可以根据其id=c1直接单击它。2.这里有一个问题:如果你想全部检查呢?

本篇主要介绍单选框和复选框的操作

一、认识单选框和复选框

    1.先认清楚单选框和复选框长什么样

 Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)【转载】第1张

    2.各位小伙伴看清楚哦,上面的单选框是圆的;下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了。

二、radio和checkbox源码

    1.上图的html源码如下,把下面这段复杂下来,写到文本里,后缀改成.html就可以了。

 <html>  
    <head>  
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />  
    <title>单选和复选</title>  
    </head>  
    <body>  
    
    </form>  
    <h4>单选:性别</h4>   
    <form>  
    <label value="radio">男</label>   
    <input name="sex" value="male" type="radio"><br>  
    <label value="radio1">女</label>  
    <input name="sex" value="female" type="radio">  
    </form>  
    
    <h4>微信公众号:从零开始学自动化测试</h4>  
    <form>  
    <!-- <label for="c1">checkbox1</label> -->  
    <input type="checkbox">selenium<br>  
    <!-- <label for="c2">checkbox2</label> -->  
    <input type="checkbox">python<br>  
    <!-- <label for="c3">checkbox3</label> -->  
    <input type="checkbox">appium<br>  
    
    <!-- <form>  
    <input type="radio" name="sex" value="male" /> Male  
    <br />  
    <input type="radio" name="sex" value="female" /> Female  
    </form> -->  
      
    </body>  
    </html> 

三、单选:radio

  1.首先是定位选择框的位置

 Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)【转载】第2张

  2.定位id,点击图标就可以了,代码如下(获取url地址方法:把上面源码粘贴到文本保存为.html后缀后用浏览器打开,在浏览器url地址栏复制出地址就可以了)

  3.先点击boy后,等十秒再点击girl,观察页面变化

 Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)【转载】第3张

四、复选框:checkbox

  1.勾选单个框,比如勾选selenium这个,可以根据它的id=c1直接定位到点击就可以了

 Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)【转载】第4张

   2.那么问题来了:如果想全部勾选上呢?

五、全部勾选:

    1.全部勾选,可以用到定位一组元素,从上面源码可以看出,复选框的type=checkbox,这里可以用xpath语法:.//*[@type='checkbox']

 Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)【转载】第5张

     2.这里注意,敲黑板做笔记了:find_elements是不能直接点击的,它是复数的,所以只能先获取到所有的checkbox对象,然后通过for循环去一个个点击操作

六、判断是否选中:is_selected()

    1.有时候这个选项框,本身就是选中状态,如果我再点击一下,它就反选了,这可不是我期望的结果,那么可不可以当它是没选中的时候,我去点击下;当它已经是选中状态,我就不点击呢?那么问题来了:如何判断选项框是选中状态?

    2.判断元素是否选中这一步才是本文的核心内容,点击选项框对于大家来说没什么难度。获取元素是否为选中状态,打印结果如下图。

    3.返回结果为bool类型,没点击时候返回False,点击后返回True,接下来就很容易判断了,既可以作为操作前的判断,也可以作为测试结果的判断

 Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)【转载】第6张

七、参考代码:
# coding:utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("file:///C:/Users/Gloria/Desktop/checkbox.html")
# 没点击操作前,判断选项框状态
s = driver.find_element_by_id("boy").is_selected()
print s
driver.find_element_by_id("boy").click()
# 点击后,判断元素是否为选中状态
r = driver.find_element_by_id("boy").is_selected()
print r

# 复选框单选
driver.find_element_by_id("c1").click()
# 复选框全选
checkboxs = driver.find_elements_by_xpath(".//*[@type='checkbox']")
for i in checkboxs:
    i.click()

免责声明:文章转载自《Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)【转载】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何使用NODEJS+REDIS开发一个消息队列Oracle ASM 磁盘组基础知识整理(收藏版)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

php checkbox 复选框

在给checkBox命名时,必须要加"[]" ,但是在接收时不能加"[]" 才能得到值! 例如: html代码 <html><head><body><form action="result.php" method="POST"><input type="checkbox" name="year[]" v...

通过JS,全选当前页面所有的复选框

  最近在做项目时,遇到一个这样的需求,就是在多级菜单中,选中二级的复选框,默认将它下面的三级复选框全部选中,若选中一级的复选框,默认的将它下面的二级的和三级的复选框全部选中,通过JS,可以得到当前页面所有的复选框,但对于如何判断子级的复选框也能选中,就有些不太明白了,向朋友请教了下,呵呵,终于拨云见天了,感谢,方法如下,给遇到我类似需求的朋友一个参考!...

layui 添加复选框checkbox后,无法正确显示及点击的方法

layui 添加复选框checkbox后,无法正确显示方式,这个是由于html里的样式添加 layui-form后,没有加载 form插件 ,具体如下: <body style="background-color: white;"> <div class="layui-form"> <div...

Layui 之自定义验证

一、验证radio、checkbox form.verify({ mustradio: function (value, item) { //单选按钮必选 var val = $(item).parent().find("input[name='answer']:checked").val();...

elementUI 表格中回显checkbox是否选中

我是通过v-if指令来做的,我用的是 checked3,checked4在data质指定。 <el-table :data="devicesGridData"> <el-table-column property="name" label="选择" width="80">...

自定义实现 PyQt5 下拉复选框 ComboCheckBox

一、前言 由于最近的项目需要具有复选功能,但过多的复选框会影响界面布局和美观,因而想到把 PyQt5 的下拉列表和复选框结合起来,但在 PyQt5 中并没有这样的组件供我们使用,所以想要自己实现一个下拉复选框,主要就是继承 QComboBox 类,然后将复选框 QCheckBox 加入其中,并实现相应的功能。 最终实现的下拉复选框效果如下: 二、代码实现...