Python3-Selenium自动化测试框架(四)之css元素定位

Selenium自动化测试框架(四)之css元素定位

一、css元素定位

CSS可以通过元素的id、class、标签(input)这三个常规属性直接定位到

id-->> #
class-->> .

1、通过id进行定位
input#kw
#kw
2、通过class进行定位
input.s_ipt
.s_ipt
3、子类定位“>”:通过先定位父类(self),再定位self下的子类

#s_kw_wrap>#kw
4、同级定位“+”: 通过先定位父类(self),再定位self 同级的类
span#s_kw_wrap+input[name="rsv_spt"]
5、后代定位 “ ”:通过先定位父类(self),再定位self 后代的类
input[name='wd']

a[title='清空']
6、模糊匹配属性值方法
1>属性值由多个空格隔开,匹配其中一个值的方法
input[class~='btn']
2>匹配属性值为字符串开头的方法
input[class^='btn']
3>匹配属性值字符串结尾的方法
input[class$='s_btn']
7、多个元素共同定位
[id='kw'][class='s_ipt']
8、增加标签过滤

form>input:nth-child(4)

二、Python中使用css元素定位

driver.find_element_by_css_selector("[id = 'kw'][class = 's_ipt']")

三、css 和 xpath 的区别

  • 1、css 更加简洁
  • 2、xpath 的功能更强大。对于简单的元素定位可以使用css, 复杂的元素使用xpath.
  • 3、xpath 可以使用 text 文本定位, css 不行。
  • 4、效率。通常来说,xpath 的解析效率会低。css 要快一些。

【完】



Python3-Selenium自动化测试框架(四)之css元素定位

原文地址:https://www.cnblogs.com/desireyang/p/12176103.html

时间: 2024-10-08 09:41:16

Python3-Selenium自动化测试框架(四)之css元素定位的相关文章

selenium自动化测试——常见的八种元素定位方法

selenium常用的八种元素定位方法 1.通过 id 定位:find_element_by_id() 2.通过 name 定位:find_element_by_name() 3.通过 tag 定位:find_element_by_tag_name() 4.通过 class 定位:find_element_by_class_name() 5.通过 css 定位:find_element_by_css_selector() 6.通过 link 定位:find_element_by_link_tex

Python3.x:Selenium中的webdriver进行页面元素定位

Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link text xpath css selector 对应于webdriver中的定位一个元素方法分别是: driver.find_e

selenium自动化测试框架之PO设计模式

面向对象的特性:封装.继承.多态.在自动化中一样适用,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提高测试用例的维护效率. ##传统测试脚本的弊端 测试脚本分离,维护成本高 可扩展性差 复用性低等 PageObject设计模式 PO的核心要素: 在PO模式中抽象封装成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性. 每个一个page都继承BasePage,通过driver来管理本page中元素

selenium使用笔记(三)——元素定位

selenium进行自动化测试的一个很重要的东西那就是元素定位,如果元素都没法定位就无法操作它,也就无法进行自动化测试了.网上对于元素定位有很多的介绍,很详细很详细的,但是依然有很多新手总是会遇到无法定位的情况,在这里自己总结下元素定位. 先来看元素定位的方式 //使用id定位 userName = driver.findElement(By.id("TANGRAM__PSP_8__userName")); //使用class定位 userName = driver.findEleme

css元素定位样式

曾经写网页,学css整体上不难,但就是元素定位,始终一知半解,直到今天,本着实践出真知的理念,经过认真测试,总结出了如下结论. css 定位: positionstatic : 默认静止定位,元素在正常的文档流中无法移动定位.absolute :独立元素,元素从文档流中脱离,会相对于父层(static定位的父层除外)移动定位.relative : 相对定位,相对本身的位置移动定位,效果等同于相对于父层移动定位.fixed: 固定定位,相对于窗口移动定位.注:1.移动定位是指通过 top,bott

Selenium+Python自动化测试实战(2)元素定位

1.Selenium2 的原理 第一篇分享简单介绍了基于Python开发的Selenium2的环境配置,这篇主要讲一下基本用法.首先讲一下Selenium2的基本原理.基本上知道了这个东西是怎么回事,我们就知道怎么去用它做自动化测试. 与Selenium和Selenium RC不同,Selenium2将浏览器原生的API封装成WebDriver API,可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的),所以就像真正的用户在操作一样.其实刚

Selenium自动化测试框架的搭建

说 起自动化测试,我想大家都会有个疑问,要不要做自动化测试? 自动化测试给我们带来的收益是否会超出在建设时所投入的成本,这个嘛别说是我,即便是高手也很难回答,自动化测试的初衷是美好的,而测试工程师往往在实现 过程中花费了很多成本.精力,而最终以失败告终. 失败的原因会很多,我总结几项: 1.   太过依赖测试工具,高估了工具的力量,最终会以失望告终. 2.    项目紧急的情况,为了规避那些多余的环节,干脆人工测试,结果整个链路中断. 3.    研发和测试人员不能很好的交互,如果这两个角色之间

css 元素定位样式

曾经写网页,学css整体上不难,但就是元素定位,始终一知半解,直到今天,本着实践出真知的理念,经过认真测试,总结出了如下结论. css 定位: positionstatic : 默认静止定位,元素在正常的文档流中无法移动定位.absolute :独立元素,元素从文档流中脱离,会相对于父层(static定位的父层除外)移动定位.relative : 相对定位,相对本身的位置移动定位,效果等同于相对于父层移动定位.fixed: 固定定位,相对于窗口移动定位.注:1.移动定位是指通过 top,bott

selenium + Python (2) -- 常用8种元素定位

selenium常用的8种元素定位方式如下(代码可直接运行): # coding:utf-8 # 第一步导入需要的模块 from selenium import webdriver import time # 第二步打开浏览器 driver = webdriver.Firefox() # 第三步打开百度 driver.get("http://www.baidu.com") # 1. 操作浏览器对象-id driver.find_element_by_id("kw")