web自动化测试---css方式定位页面元素
css方式定位的方法也有很多,相较于xpath更灵活一点,下面就介绍下使用方法(以百度输入框为例)
1、通过tag来定位,可以写成如下:
driver.find_element_by_css_selector('input').click()
这里要说明的是tag为input的必须唯一才能这么写,否则可以用其他方式定位
2、通过id来定位,可以写成如下:
driver.find_element_by_css_selector('#kw').click()
id前面加个#即可,很简单,也可以和tag组合来写:
driver.find_element_by_css_selector('input#kw').click()
3、通过class来定位,可以写成如下:
driver.find_element_by_css_selector('.s_ipt').click()
也很简单,当然也可以和tag组合来写:
driver.find_element_by_css_selector('tag.s_ipt').click()
4、通过父子关系定位,可以写成如下
driver.find_element_by_css_selector('span>input').click()
这里是通过tag来做例子,其实对于父节点和子节点来说都可以各自按照1、2、3来写,中间用>来连接即可,这样更能保证元素的唯一性,比如:
driver.find_element_by_css_selector('span>input#kw').click()
5、还可以通过tag中除了id、class之外的其他属性来定位元素,如输入框通过name属性来定位:
driver.find_element_by_css_selector('input[name="wd"]').click()
属性可以带值,也可以不带,直接写成如下形式:
driver.find_element_by_css_selector('input[name]').click()
6、除了5中所示的形式,还可以对属性的值进行过滤,如下:
name属性的值以w开头
driver.find_element_by_css_selector('input[name^="w"]').click()
name属性的值以d结尾
driver.find_element_by_css_selector('input[name$="d"]').click()
name属性的值包含w字符
driver.find_element_by_css_selector('input[name*="w"]').click()
基本上通过上面的css操作都能够唯一确定一个元素,当然也有特殊情况。这个需要具体问题具体对待。
web自动化测试---css方式定位页面元素的更多相关文章
- web自动化测试---xpath方式定位页面元素
在实际应用中,如果存在多个相同元素,包括属性相同时,一般会选用这种方式,当然如果定位属性唯一的话,也是可以使用的,不过这种方式没有像id,tag,name等容易理解,下面讲下xpath定位元素的方法 ...
- 使用CSS选择器定位页面元素
摘录:http://blog.csdn.net/defectfinder/article/details/51734690 CSS选择器也是一个非常好用的定位元素的方法,甚至比Xpath强大.在自动化 ...
- Selenium2(java)定位页面元素 二
辅助工具: chrome浏览器,F12打开控制台; Firefox浏览器,F12打开控制台; 或者选中要定位的元素右键 安装firefox扩展firebug和firepath; 安装之后F12可调用f ...
- 定位页面元素之xpath详解以及定位不到测试元素的常见问题
一.定位元素的方法 id:首选的识别属性,W3C标准推荐为页面每一个元素设置一个独一无二的ID属性, 如果没有且很难找到唯一属性,解决方法:(1)找开发把id或者name加上.如果不行,解决思路可以是 ...
- selenium第三课(selenium八种定位页面元素方法)
selenium webdriver进行元素定位时,通过seleniumAPI官方介绍,获取页面元素的方式一共有以下八种方式,现按照常用→不常用的顺序分别介绍一下. 官方api地址:https://s ...
- selenium webdriver学习(四)------------定位页面元素(转)
selenium webdriver学习(四)------------定位页面元素 博客分类: Selenium-webdriver seleniumwebdriver定位页面元素findElemen ...
- selenium定位页面元素的一件趣事
PS:本博客selenium分类不会记载selenium打开浏览器,定位元素,操作页面元素,切换到iframe,处理alter.confirm和prompt对话框这些在网上随处可见的信息:本博客此分类 ...
- Python+Selenium自动化-定位页面元素的八种方法
Python+Selenium自动化-定位页面元素的八种方法 本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_elemen ...
- Selenium 定位页面元素 以及总结页面常见的元素 以及总结用户常见的操作
1. Selenium常见的定位页面元素 2.页面常见的元素 3. 用户常见的操作 1. Selenium常见的定位页面元素 driver.findElement(By.id());driver.fi ...
随机推荐
- ggplot2 梯度作图
ggplot2是R语言的绘图包 library('ggplot2') df <- data.frame(var=c("a","b","c&quo ...
- python基础(二)列表与字典
列表list-数组stus=['苹果','香蕉','橘子','红枣',111.122,]# 下标 0 1 2 3 4#下标,索引,角标#print(stus[4]) #st=[]#空list#st=l ...
- Linux查看某个进程的线程
线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念.当一个程序内有多个线程被叉分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间.打开的文件),以使叉分开销最小化 ...
- elk kibana查询语法
elk日志系统中kibana查询语法 单项term查询 例: 搜 Dahlen, Malone 字段field查询 field:value 例:city:Keyport, age:26 通配符 ? 匹 ...
- Spring Boot 启动(一) SpringApplication 分析
Spring Boot 启动(一) SpringApplication 分析 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html ...
- java多线程系列14 设计模式 Master-Worker
Master-Worker模式是常用的并行设计模式,可以将大任务划分为小任务,是一种分而治之的设计理念. 系统由两个角色组成,Master和Worker,Master负责接收和分配任务,Worker负 ...
- 2019.02.12 bzoj3944: Sum(杜教筛)
传送门 题意: 思路:直接上杜教筛. 知道怎么推导就很简单了,注意预处理的范围. 然后我因为预处理范围不对被zxyoi教育了(ldx你这个傻×两倍常数活该被卡TLE) 喜闻乐见 代码: #includ ...
- qhfl-1 跨域
CORS跨域请求 CORS即Cross Origin Resource Sharing 跨域资源共享,那么跨域请求还分为两种,一种叫简单请求,一种是复杂请求 简单请求 HTTP方法是下列方法之一 HE ...
- python_day1_常量
常量 定义: 不变的量为常量,或在程序中不可改变的量 用法: AGE_OF_BOY =56 注:在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
- PostgreSQL与PostGIS的关系
PostgreSQL相当于PostGIS的祖先,PostGIS是在PostgreSQL的基础上发展起来的,从它们的名字上也能看出些许端倪.PostgreSQL是一个开源数据库,而PostGIS在此基础 ...