摘自:https://www.cnblogs.com/sanzangTst/p/7686602.html

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

二、单选框: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()

自动化测试基础篇--Selenium单选框(Radio)复选框(CheckBox)的更多相关文章

  1. 自动化测试-15.selenium单选框与复选框状态判断

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  2. Selenium3自动化测试【28】单选框、复选框、下拉选择框

    Html页面中的单选按钮.复选框.下拉框均可通过WebDriver实现操做.本节结合案例一起来看看WebDriver如何操做这些控件. 同步视频知识与系列知识内容,可关注:[公众号]:柒哥测试:[WX ...

  3. Selenium+java - 单选框及复选框处理

    一.什么是单选框.复选框? 二.被测页面html源代码 CheckBoxRadioDemo.html <!DOCTYPE html> <html lang="en" ...

  4. Python+Selenium自动化-定位一组元素,单选框、复选框的选中方法

    Python+Selenium自动化-定位一组元素,单选框.复选框的选中方法   之前学习了8种定位单个元素的方法,同时webdriver还提供了8种定位一组元素的方法.唯一区别就是在单词elemen ...

  5. Flutter 基础组件:单选框和复选框

    前言 Material组件库中提供了Material风格的单选开关Switch和复选框Checkbox,虽然它们都是继承自StatefulWidget,但它们本身不会保存当前选中状态,选中状态都是由父 ...

  6. 2.12 单选框和复选框(radiobox、checkbox)

    2.12 单选框和复选框(radiobox.checkbox) 本篇主要介绍单选框和复选框的操作一.认识单选框和复选框    1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是 ...

  7. Selenium2学习(十五)-- 单选框和复选框(radiobox、checkbox)

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  8. Selenium3+python自动化 单选框和复选框

    一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了. 二.radio和 ...

  9. CSS学习笔记三:自定义单选框,复选框,开关

    一点一点学习CCS,这次学习了如何自定义单选框,复选框以及开关. 一.单选框 1.先写好body里面的样式,先写几个框 <body> <div class="radio-1 ...

随机推荐

  1. leetcode — unique-paths

    import java.util.Arrays; /** * Source : https://oj.leetcode.com/problems/unique-paths/ * * * A robot ...

  2. DateTimeHelper

    本文参考文章: http://geekswithblogs.net/mnf/articles/my-datetimehelper-class.aspx https://referencesource. ...

  3. 如何使用借助python完成 ARCGIS工具箱的调用

    上个月使用python调用arcgis工具箱完成了火点txt文件转shp文件的小功能, 感觉很不错, 写下这篇博客希望对大家有所帮助. 1.环境介绍: 系统: win8.1(64位) arcgis:d ...

  4. Linux Namespace : User

    User namespace 是 Linux 3.8 新增的一种 namespace,用于隔离安全相关的资源,包括 user IDs and group IDs,keys, 和 capabilitie ...

  5. Jenkins持续集成学习-搭建jenkins问题汇总

    目录 Jenkins持续集成学习5-搭建jenkins问题汇总 目录 前言 问题列表 nuget还原包问题 编译问题 SVN更新问题 参考文档 Jenkins持续集成学习5-搭建jenkins问题汇总 ...

  6. Android Studio 管理所有程序退出

    import android.app.Activity; import java.util.ArrayList; import java.util.List; public class fa { pu ...

  7. 第四讲 smart qq 获取联系人信息 ,分组 好友 群聊

    首先从post一下  http://s.web2.qq.com/api/get_user_friends2 这个链接获取分组categories ,好友信息 friends,info. string ...

  8. [android] 插入一条记录到系统短信应用里

    谷歌市场上有这些应用,模拟短信,原理就是把数据插入到短信应用的数据库里 获取ContentResolver对象,通过getContentResolver()方法 调用resolver对象的insert ...

  9. 【Java并发编程】23、ConcurrentHashMap原理分析(1.7和1.8版本对比)

    jdk 1.8版本 ConcurrentHashMap在1.8中的实现,相比于1.7的版本基本上全部都变掉了.首先,取消了Segment分段锁的数据结构,取而代之的是数组+链表(红黑树)的结构.而对于 ...

  10. Java 原生网络编程.

    一.概念 Java 语言从其诞生开始,就和网络紧密联系在一起.在 1995 年的 Sun World 大会上,当时占浏览器市场份额绝对领先的网景公司宣布在浏览器中支持Java,从而引起一系列的公司产品 ...