自动化测试之CSS定位
之前做自动化测试一直用RF框架来操作,发现了明显与unittest的灵活性相差一点。
重新温习了unittest框架,其中这个框架,元素定位是难点,以前更多的使用JQUERY方式定位,
发现其实与CSS定位很相近,有很多共通之处。
今天顺便来复习一下。以前XPATH定位用的也比较多。但图方便之时,很少自己去定位,直接用工具了。
多话不说了,CSS定位总体上有几种,
一,通过元素属性来定们,
例子:driver.find_element_by_css_selector(".class")
drvier.find_element_by_css_selector("#id")
二,通过标签名来定位。
driver.find_element_by_css_selector("input")
这种方式找到元素的概率非常低。因为标签名重复的概率非常大。
1,通过父子关系定位。
driver.find_element_by_css_selector("span>input")
2,通过属性定位
driver.find_element_by_css_selector("[name=kw]")
driver.find_element_by_css_selector("[type=submit]")
3.组合定位
driver.find_element_by_css_selector("form.fm>span>input>input.s_ipt")
driver.find_element_by_css_selector("form#form>span>input#kw")
今天就暂时记录这么多。后续补充。

还有一种,通过兄弟元素来找,例子:div+input
后面补充的内容是从https://blog.csdn.net/ouyanggengcheng/article/details/77197294这里转载的。
这补充了CSS中的部分内容。
掌握了前面的几种方法,CSS定位基本没有困难了。
平时多练习,其实CSS与jquery定位方法真的很相近,除了定位第几个元素格式有大的区别,其他的几种格式基本都差不多。
自动化测试之CSS定位的更多相关文章
- RobotFramework自动化测试之元素定位
前言:最近在做基于RF框架的Web自动化测试,其中涉及到元素的定位,主要用到id.name.xpath.css四中定位方法,尤其后面的两种方法特别有效,可以解决大部分的定位问题. id和name定位 ...
- selenium+python自动化之CSS定位
一.css:属性定位 1.css可以通过元素的id.class.标签这三个常规属性直接定位到 2.如下是百度输入框的的html代码: <input id="kw" class ...
- Selenium自动化测试之元素定位
步骤: 1.通过前端工具,查看元素的属性 2.通过属性定位 iddriver.findElement(By.id("kw")) namedriver.findElement(By. ...
- appium自动化测试之元素定位
方法一 使用SDK中附带的uiautomatorviewer来定位 在SDK安装目录下的tools下有个uiautomatorviewer.bat批处理文件点击运行 运行后(注意appium desk ...
- Appium移动端自动化测试之元素定位(三)
1.name定位 driver.find_element_by_id(') driver.find_element_by_id(') driver.find_element_by_name('登录') ...
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景 在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...
- UI自动化之元素定位(xpath、css)
很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...
- appium自动化测试之UIautomatorviewer元素定位
appium自动化测试之UIautomatorviewer元素定位 标签(空格分隔): uiautomatorviewer元素定位 前面的章节,已经总结了怎么搭建环境,怎样成功启动一个APP了,这里具 ...
- 【WEB自动化测试之控件定位】基于HTML5控件的唯一控件属性定位
一.WEB控件定位是什么 要想弄懂这个问题,我们还是基于实践来学习.我们先来看一条入门级别自动化测试用例的构成. DemoCase:正确用户名和密码登录博客园,登录成功 URL: https:// ...
随机推荐
- HTTP返回码中200,302,304,404,500得意思
状态码的职责是当客户端向服务器端发送请求时,描述返回请求结果.借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了什么错误. 2开头的,响应成功,客户端请求服务器正常响应处理了. 3开头的,响 ...
- error C2065: “CString”: 未声明的标识符 ;fatal error C1189: #error : afxstr.h can only be used in MFC proje
转自VC错误:http://www.vcerror.com/?p=1388 问题描述: error C2065: "CString": 未声明的标识符 fatal error C1 ...
- mybatis 查询一对一
官方文档 Mapper接口 public interface UserMapper { User getUser(int userId); } public interface ArticleMapp ...
- JS 获取json key和value
var json= { "Type": "Coding", "Height":100 }; for (var key in json) { ...
- Java + selenium window()接口方法介绍
在浏览器启动的代码中,有一段关于window接口的调用,这篇文章就是来解释介绍这个接口的.代码如下 driver.manage().window().maxmize(); window接口主要是用来控 ...
- shell ssh和mount 挂载问题
任务: 将服务器端数据挂载在板子上 1. 首先ssh问题 spawn ssh $remote_user@$remote_host (1) ssh:connect to host 10.110.6.50 ...
- 10分钟掌握Python-机器学习小项目
学习机器学习相关技术的最好方式就是先自己设计和完成一些小项目. Python 是一种非常流行和强大的解释性编程语言.不像 R 语言,Python 是个很完整的语言和平台,你既可以用来做研发,也可以用来 ...
- flink-training-course
目录 flink-training-course 大数据领域顶级盛会 Flink Forward Asia 2019 详情
- 一个spark SQL和DataFrames的故事
package com.lin.spark import org.apache.spark.sql.{Row, SparkSession} import org.apache.spark.sql.ty ...
- rabbitmq-5-案例2-简单的案例+exchange
Exchange交换机: sendMessage端,发送消息到Exchage1.2, 然后交换机通过路由键,将消息转发给队列queue中,最后客户端从队列中获取消息 交换属性: name:名称 typ ...