web自动化系列-selenium方法和属性的使用(九)

embedded/2024/10/18 9:16:42/

 

继续介绍selenium中的一些方法和属性 ,下面的这些方法和前面已经介绍过的clear 、send_keys等都是在一个类中,即WebElement 。我们其实使用很多方法都是在这个类中 。

1.方法和属性

类型方法/属性说明场景
属性size返回元素的大小/
属性text返回元素的文本信息用它获取实际值进行断言
方法get_attribute(‘x’)获取属性的值,传递的是属性有时候想要获取其值可用它
方法is_displayed()判断元素是否可见返回bool类型 ,封装类方法可用到
方法is_enabled()判断元素是否可用返回bool类型 ,封装类方法可用到
方法is_selected()判断元素是否被选中,主要用来检查复选框和单选按钮是否被选中返回Bool类型 ,只有有复选框或单选按钮的场景才可用到

以上的属性或方法中 ,使用最频繁的就是text ,我们用它来获取软件的返回值 ,从而进行断言操作 。

2.具体案例

需求:通过selenium完成对tpshop的注册操作,具体如下 :

  1. 进入首页,点击注册按钮 ,进入到注册页面

  2. 使用size获取欢迎注册图标的大小

  3. 使用text获取欢迎注册的文本信息

  4. 使用get_attribute()方法获取欢迎注册的属性值

  5. 使用is_displayed()方法判断欢迎注册元素是否可见

  6. 使用is_enabled()方法判断欢迎注册元素是否可用

  7. 使用is_selected()方法判断复选框是否被选择

  8. 点击复选框 ,将勾取消掉 。

  9. 再次使用is_selected()方法判断复选框是否被选择

具体代码 :  

python"># 属性和方法from selenium import webdriver
import time# 1. 创建浏览器对象
driver = webdriver.Chrome()
driver.maximize_window()# 2. 输入地址 :http://localhost
driver.get("http://localhost")# 3. 点击注册
driver.find_element_by_link_text("注册").click()
time.sleep(2)# 获取欢迎注册的大小 :size
elem = driver.find_element_by_xpath("//span[@class='m-fntit']")
print("size:{}".format(elem.size))# 获取欢迎注册的文本 :text
print("text:{}".format(elem.text))# 获取属性值 :get_attribute()
print("属性值:{}".format(elem.get_attribute('class')))# 判断元素是否可见 :is_displayed()
print("元素是否可见:{}".format(elem.is_displayed()))# 判断元素是否可用 :is_enabled()
print("元素是否可用:{}".format(elem.is_enabled()))# 元素是否被选中 :is_selected()
checkbox = driver.find_element_by_css_selector("input[type='checkbox']")
print("复选框是否被选中:{}".format(checkbox.is_selected()))
time.sleep(1)
checkbox.click()
print("取消后的复选框是否被选中:{}".format(checkbox.is_selected()))


http://www.ppmy.cn/embedded/6477.html

相关文章

java解决常见递归问题

最基本的,斐波那契数列,阶乘(0,1的阶乘均为1) 返回字母“x”第一次出现的位置 使用递归编写一个函数,读取一个字符串,返回字母“x”第一次出现的位置。例如,字符串 "abcdefgh…

项目实践---贪吃蛇游戏的实现

上一章,我们已经分析了贪吃蛇的具体内容,包括它是如何实现的,怎样完成这个项目的,其中就提到了 贪吃蛇有三个代码:一个是测试代码,一个是头文件代码,还有一个是主函数代码。那么今天我们就来讲一…

从OWASP API Security TOP 10谈API安全

1.前言 应用程序编程接口(API)是当今应用驱动世界创新的一个基本元素。从银行、零售、运输到物联网、 自动驾驶汽车、智慧城市,API 是现代移动、SaaS 和 web 应用程序的重要组成部分,可以在面向客 户、面向合作伙伴和内部的应用程…

单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.12枚举

枚举(enumeration)是C语言的一种重要数据类型,由用户自定义一组命名的整数常量。使用枚举可以使程序具有可读性及可维护性。 1 定义枚举类型 在C语言中,使用enum关键字来定义枚举类型。下面以LED为例,介绍枚举类型的…

Jmeter 测试-跨线程调用变量

1、Jmeter中线程运行规则 ①各个线程组是完全独立的,每个线程组是不同的业务,互不影响 ②线程组中的每个线程也是完全独立 ③线程组中的每个线程,都是从上往下执行,完成一轮循环后,继续下一轮循环 ④存在业务流或者…

Qt 创建控件的两种方式

目录 Qt 创建控件的两种方式 通过ui界面创建控件 通过代码方式创建控件 Qt 创建控件的两种方式 通过ui界面创建控件 这里当然我们是需要先有一个项目的,按照我们之前创建项目的步骤,我们可以先创建一个 Widget 的项目,但是 MainWindow 也…

开源博客项目Blog .NET Core源码学习(16:App.Hosting项目结构分析-4)

本文学习并分析App.Hosting项目中前台页面的文章专栏页面和文章详情页面。< 文章专栏页面 文章专栏页面总体上为左右布局&#xff0c;左侧显示文章列表&#xff0c;右侧从上向下为关键词搜索、分类导航、热门文章等内容。整个页面使用了layui中的面包屑导航、表单、模版、流…

MATLAB环境下基于随机期望最大化的多分量信号瞬时频率估计方法

相对于频率成分单一、周期性强的平稳信号来说&#xff0c;具有非平稳、非周期、非可积特性的非平稳信号更普遍地存在于自然界中。调频信号作为非平稳信号的一种&#xff0c;由于其频率时变、距离分辨率高、截获率低等特性&#xff0c;被广泛应用于雷达、地震勘测等领域。调频信…