python自动化测试selenium操作checkbox和radiobox技术
作者:aovenus 发布时间:2021-11-01 16:12:54
标签:自动化测试,selenium,checkbox,radiobox
form表单中经常涉及复选框(checkbox)和单选框(radiobox),如用户的爱好跑步、游泳、跳舞可以使用复选框,性别男、女可以使用单选框。
(1)checkbox选择或反选:使用click()方法
(2)radiobox有相同的名称,多个值,可先通过名称获得,再通过值判断,选择使用click()方法。
示例页面:
页面代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="javascript:alert('selenium操作表单中checkbox和radiobutton')">
测试from表单操作checkbox和radiobutton<br>
跑步:<input type="checkbox" name="running" value="running"><br>
游泳:<input type="checkbox" name="swimming" value="swimming"><br>
跳舞:<input type="checkbox" name="dancing" value="dancing"><br>
<!--<hr>分界线-->
<hr>
性别:<br>
男:<input type="radio" name="gender" value="male"><br>
女:<input type="radio" name="gender" value="female"><br>
<input type="submit" value="login">
</form>
</body>
</html>
示例脚本:
import os
from selenium import webdriver
from time import sleep
class TestCheckBoxOrRadioBtn(object):
def setup(self):
self.driver = webdriver.Chrome()
path = os.path.dirname(os.path.abspath(__file__))
file_path = 'file:///'+path+'/html/form.html'
self.driver.get(file_path)
def test_checkbox(self):
#定位跳舞
dancing=self.driver.find_element_by_name("dancing")
#如果没有选择,则点击选择
if not dancing.is_selected():
dancing.click()
sleep(2)
running = self.driver.find_element_by_name("running")
if not running.is_selected():
running.click()
sleep(2)
swimming = self.driver.find_element_by_name("swimming")
if not swimming.is_selected():
swimming.click()
sleep(2)
#再次点击取消选择游泳
swimming.click()
sleep(2)
self.driver.quit()
def test_radio(self):
#获得元素列表
gender= self.driver.find_elements_by_name("gender")
#选中性别男
gender[0].click()
sleep(2)
# 选中性别女
gender[1].click()
sleep(2)
self.driver.quit()
if __name__ == '__main__':
case = TestCheckBoxOrRadioBtn()
case.test_checkbox()
case.test_radio()
运行结果:
来源:https://blog.csdn.net/aovenus/article/details/121198280


猜你喜欢
- Logminer是每个Dba都应熟悉的工具,当一天由于用户的误操作你需要做不完全的恢复时,由于你无法确定这个操作是哪个时间做的,所以这对你的
- Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到
- 1.pyspider介绍 一个国人编写的强大的网络爬虫系统
- 1. 前言上一篇介绍了 Go并发控制--Channel使用channel来控制子协程的优点是实现简单,缺点是当需要大量创建协程时就需要有相同
- 分页是每一个程序需要去理解的东西,学习过的几门语言中我发现分页原理都是一样的,下面为php初学者分析一下php分页实现与最后面补充了一个超级
- 下面我们学习if语句,输入下面的代码,确保能够正确运行。people = 20 cats = 30 dogs = 15 if people
- ubuntu18 系统上已经配置好gpu加速环境,安装pytorch-gpu 后出现以下问题:import torchx = torch.T
- 有没有一种方法可以为Django项目中的每个应用程序创建多个自定义错误模板,我的意思是,在我的项目中,我有3个应用程序,每个应用程序将显示3
- 第一种使用queue队列实现:#生产者消费者模型 其实服务器集群就是这个模型# 这里介绍的是非yield方法实现过程import threa
- 当用户关闭cookie时,通过asp程序提示访客打开,源代码如下: Dim strCookie, strT
- 目录合理的创建索引设置数据库持久连接减少SQL的执行次数仅获取需要的字段数据使用批量创建、更新和删除,不随意对结果排序参考网址:Django
- 应用场景在数据表中,要记录的每条数据是什么时候创建的,不需要应用程序去特意记录,而是由数据库获取当前时间自动记录创建时间。在数据库中,要记录
- 本文实例分析了Python中的对象,方法,类,实例,函数用法。分享给大家供大家参考。具体分析如下:Python是一个完全面向对象的语言。不仅
- 变量不需要声明Python的变量不需要声明,你可以直接输入:>>>a = 10那么你的内存里就有了一个变量a, 它的值是1
- 首先说明一下SQL Server内存占用由哪几部分组成。SQL Server占用的内存主要由三部分组成:数据缓存(Data Buffer)、
- 安装TensorFlow在Windows上,真是让我心力交瘁,想死的心都有了,在Windows上做开发真的让人发狂。首先说一下我的经历,本来
- stark组件是仿照django的admin模块开发的一套组件,它的作用是在网页上对注册的数据表进行增删改查操作一、配置1、创建
- 当需要定时修改数据库时,一般我们都选择起一个定时进程去改库。如果将这种定时任务写入业务中,写成一个接口呢,定时进程显得有些不太合适?如果需要
- python中index()、find()方法,具体内容如下:index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(
- random 模块中的常用函数random()返回一个位于区间 [0,1] 内的实数;uniform(a, b)返回一个位于区间 [a,b]