Selenium测试form表单之checkbox和radio
一、定义form表单
用到的元素:checkbox和radiobutton
下图定义了一个选择爱好和选择性别的form表单,区域1用到的表单元素是checkbox(复选框),区域2用到的表单元素是radiobutton

点击查看代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="javascript:alert('test')">
swimming:<input type="checkbox" name="swimming" value="swimming"><br>
reading:<input type="checkbox" name="reading" value="reading"><br>
<hr>
gender<br>
<input type="radio" name="gender" value="male" text="male"><label>male</label><br>
<input type="radio" name="gender" value="female" text="female"><label>female</label><br>
<input type="submit" name="login" value="login">
</form>
</body>
</html>
二、测试checkbox
用例1:选中checkbox选项
预期结果1:正常选中
swimming=self.driver.find_element(By.NAME, 'swimming')#定位元素
if not swimming.is_selected():
swimming.click() #选中swimming
reading=self.driver.find_element(By.NAME, 'reading')#定位元素
if not reading.is_selected():
reading.click() #选中reading
sleep(10)

用例2:反选checkbox选项
结果2:不选中选项
swimming.click()
sleep(2)

三、测试radiobutton
用例1:选中男性
结果1:正常选中
ls=self.driver.find_elements(By.NAME, 'gender')
#find_elements()方法返回一个WebElement对象列表
ls[0].click()
sleep(2)

用例2:选中女性
结果2:正常选中
ls=self.driver.find_elements(By.NAME, 'gender')
ls[1].click()
sleep(2)

四、代码
点击查看代码
from selenium import webdriver
from time import sleep
import os
from selenium.webdriver.common.by import By
class TestCase:
def __init__(self):
self.driver = webdriver.Edge()
path = os.path.dirname(os.path.abspath(__file__)) # 获取当前路径的父目录
file_path = 'file:///' + path + '/form1.html' # 获取form表单完整路径
self.driver.get(file_path) # 加载form表单
def test_checkbox(self):
swimming=self.driver.find_element(By.NAME, 'swimming')
if not swimming.is_selected():
swimming.click()# 选中swimming
reading=self.driver.find_element(By.NAME, 'reading')
if not reading.is_selected():
reading.click() # 选中reading
sleep(2)
swimming.click()
sleep(2)
self.driver.quit()
def test_radio(self):
ls=self.driver.find_elements(By.NAME, 'gender')
#ls[0].click()
ls[1].click()
sleep(2)
self.driver.quit()
if __name__=="__main__":
case = TestCase()
#case.test_checkbox()
case.test_radio()
Selenium测试form表单之checkbox和radio的更多相关文章
- 表单:checkbox、radio样式(用图片换掉默认样式)
checkbox.radio样式(用图片换掉默认样式) <!doctype html> <html> <head> <meta charset="u ...
- layui的form表单的checkbox全选与全不选问题
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <m ...
- [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Form表单之复选框checkbox操作
input复选(checkbox): <label>input复选1组:</label> <input type="checkbox" name=&q ...
- Checkbox框全选操作,form表单提交与jquery ajax提交两种处理方式
//1.jquery ajax<script type="text/javascript"> $(function(){ var basePath = $(" ...
- qq邮箱问卷,测试不支持form表单
想做个类似苹果调查问卷的: 找到qq邮箱的代码编辑器: 写好我们的网页(h5) <!DOCTYPE html> <html lang="en"> <h ...
- react引用antd的form表单
引用form是第三方插件ant插件,官网网址:https://ant.design/.用到的antd的版本是@2.0.1.form(https://ant.design/components/form ...
- form表单中控件较多,加载完成后切换页面都很慢的解决方法
form表单中控件较多,加载完成后点击都很慢,为什么?我一页面中form表单里面上百个控件(如input.select.radio.checkbox等),还有一些js脚本,加载速度还可以,都能全部显示 ...
- jquery获取form表单内容以及绑定数据到form表单
在日常开发的过程中,难免会用到form表单,我们需要获取表单的数据保存到数据库,或者拿到后台的一串json数据,要将数据绑定到form表单上,这里我写了一个基于jquery的,formHelp插件,使 ...
- Ajax提交form表单内容和文件(jQuery.form.js)
jQuery官网是这样介绍form.js A simple way to AJAX-ify any form on your page; with file upload and progress s ...
随机推荐
- BMC Genomics | 综合代谢组学和转录组学分析揭示了菊花黄酮和咖啡酰奎宁酸的生物合成机制
杭白菊是一种流行的药用和食用植物,主要通过黄酮类和咖啡酰奎宁酸(CQAs)的存在发挥其生物活性.然而,菊花头状花序中黄酮和CQA生物合成的调控机制尚不清楚. 本研究采用高效液相色谱法测定了菊花头状花序 ...
- 免费word简历 简历制作平台
分享一个简历制作平台. 免费的word模版 链接地址 https://www.xyjianli.com/ https://www.xyjianli.com/list https://www.xyjia ...
- SMU Autumn 2023 Round 4(Div.1+2)
SMU Autumn 2023 Round 4(Div.1+2) A. Access Denied 通过分析样例可以得知如果所猜字符串与答案字符串长度不同,则只要\(5ms\),且答案最多\(20\) ...
- 23 暑假友谊赛 No.4(UKIEPC 2017)
23 暑假友谊赛 No.4(UKIEPC 2017) Problem A Alien Sunset hh,开始一眼差分,但是写寄了qwq,后来换枚举过了(Orz,但是看学长差分是能做的,我就说嘛,差分 ...
- .NET MAUI 里,为什么 FlexLayout 这么难用?
管中窥豹,可见一斑 Layout: FlexLayout:
- [原创] 域格CLM920模组使用pppd专网拨号
域格CLM920模组使用pppd专网拨号 参考资料 参照<9X07 模块LINUX集成用户手册版本_V1.60>的第四章节使用pppd拨号上网 编写chat脚本chat-script 要点 ...
- js正则匹配以$开头和结尾的内容,并改变颜色
let res = "$你好你好$" res = res.replace(/\$(?<=\$).*?(?=\$)\$/g, `<span onclick="( ...
- Es java API官网手册
官方地址: 一.TransportClient客户端 https://www.elastic.co/guide/en/elasticsearch/client/java-api/7.5/index.h ...
- esp32挂esphome
esp32挂esphome 使用docker创建容器 docker run -d --name='esphome' \ --restart=always \ -p 6052:6052 \ -e TZ= ...
- 【测试平台开发】——04Flask后端api开发实战(一)
一.测试平台开发模式 要开发一套平台有两种开发模式,一个[大而全],一个[小而简]. 说道[大而全]想到目前大型项目都使用的语言[JAVA],[小而简]想到的是[Python]语言. 重武器(大而全) ...