css元素定位

1、 是什么?
  用来描述html元素的显示样式
  选择器是一种模式,用于选择需要添加样式的元素
 
  selenium中推荐使用css定位,比XPath定位要快
 
 2、如何定位?
 
  css定位方法:通过css的选择器语法定位元素
 
  element = driver.find_element_by_css_selector(css策略)
 
 3、常用定位?
 
  css定位常用策略:
 
    1、id选择器
    2、class选择器
    3、元素选择器
    4、属性选择器
    5、层级选择器
 
 
①id选择器
 
  说明:根据元素id属性来选择
  格式:#id
  例如:#user<选择id属性值为userA的元素>
 
②class选择器
 
  说明:根据元素class属性来选择
  格式:.class
  例如:.telA<选择属性值为telA的所有元素>
 
注意:与class_name方法不同的是,如果使用具有多个值的class属性,则需要传入全部的属性,与xpath一样
 
 
③元素选择器
 
  说明:根据元素的标签名选择
  格式:element
  例如:input<选择所有input元素>
 
④属性选择器
 
  说明:根据元素的属性名和值选择
  格式:element[attribute = value]
  例如:[type = "password"]<选择type属性值为password的元素>
 
需求:打开注册A.html页面,完成以下操作:
1、使用id选择器定位用户输入框,输入:12345
2、使用属性选择器定位密码输入框,输入:1213
3、使用class选择器定位电话号码输入框,输入:23123
4、使用元素选择器定位注册按钮,并点击
 
⑤层级选择器
 
  说明:根据元素的父子关系来选择
  格式1:element1 >  element2           通过element1来定位element2,并且element2必须为element1的直接子元素
  例如1:父层级策略 > 子层级策略
  格式2:element1  element2      通过element1米定位element2,并且element2为element1的后代元素
  例如2:祖辈策略  后代策略
 
注意:父子层级关系也可以使用空格连接上下层级策略
 
4、CSS延伸[了解]
 
  • input[type^='p']  type属性以p字母开头的元素
  • input[types='d”]  type属性以d字母结束的元素
  • input[type*=‘w']  txpe属性包含w字母的元素
 
********扩展8种元素定位的底层实现**********:
 
  方式:driver.find_element(By.xxx, 'value')
  参数说明:
    By.xxx :为By类的类型 如:By.ID
    value: 元素的定位值 如: "userA"
 
By类:需要导包 位置: from selenium.webdriver.common.by import By
 
 
 
 
 
 
 
 
 
 
 
 
 
 

web自动化04-css定位的更多相关文章

  1. web自动化之元素定位篇

    一.web自动化元素定位的方式有8种.------腾讯课堂 1.1 id定位: 1.2 class定位: 1.3 classname定位 1.4 tag_name 1.5

  2. 自动化测试之CSS定位

    之前做自动化测试一直用RF框架来操作,发现了明显与unittest的灵活性相差一点. 重新温习了unittest框架,其中这个框架,元素定位是难点,以前更多的使用JQUERY方式定位, 发现其实与CS ...

  3. [Web 前端] 019 css 定位之绝对定位与相对定位

    1. 关于定位 我们可以使用 css 的 position 属性来设置元素的定位类型 postion 的设置项如下 设置项 释义 relative 生成相对定位元素元素所占据的文档流的位置不变元素本身 ...

  4. selenium+python自动化之CSS定位

    一.css:属性定位 1.css可以通过元素的id.class.标签这三个常规属性直接定位到 2.如下是百度输入框的的html代码: <input id="kw" class ...

  5. [Web 前端] 020 css 定位之绑定定位

    绑定定位 少废话,上例子 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  6. web自动化:元素定位(二)

    一. 实例 如何定位到下图第二个"抢投标",有一种方法是利用xpath定位 //a[@href="/loan/loan_detail/Id/7190.html" ...

  7. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  8. 【WEB自动化】【第一节】【Xpath和CSS元素定位】

    目前自动化测试开始投入WEB测试,使用RF及其selenium库,模拟对WEB页面进行操作,此过程中首先面对的问题就是对WEB页面元素的定位,几乎所有的关键字都需要传入特定的WEB页面元素,因此掌握常 ...

  9. vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结

    vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...

  10. 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...

随机推荐

  1. 自学UI设计有哪些书籍推荐?

    自学UI设计大致分为两种情况:其一.业余学习,技能拓展,不以求职为目的;其二.谋生手段,小白进阶学习或者有转行的打算.前者,无论是学习内容或者深度都可以根据自己的需求和兴趣点来做学习选择,相对来说,学 ...

  2. Java面试——SQL语句题

    更多内容,前往IT-BLOG 一.行转列问题 现有表格A,按照以下格式排列: 姓名 收入类型 收入金额 Tom 年奖金 5w Tom 月工资 10k Jack 年奖金 8w Jack 月工资 12k ...

  3. <K, V>型缓存:LRU策略 FIFO策略

    <K, V>型缓存:LRU策略 FIFO策略 这两种替换策略都是通过 LinkedHashMap 实现 LinkedHashMap: LinkedHashMap 继承自 HashMap,所 ...

  4. vulnhub靶场之WIRELESS: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Wireless: 1,下载地址:https://download.vulnhub.com/wireless/Mystiko-Wireless. ...

  5. QML 界面切换的几种方法(带示例代码)

    QML 界面切换的几种方法(带示例代码)

  6. 在 Linux 内公网、云服务器搭建一套 K8s 集群

    前言 本文讲述如果在 Linux 搭建内/公网 Kubernetes 集群的详细步骤,解决搭建过程中的问题. 准备工作 Linux CentOS 7.x 两台及以上,本文用的 7.6 本文配置默认是在 ...

  7. jmeter分布式测试安装部署步骤

    一.下载linux版本的jdk ----注:下载的jdk和jmeter要与window的jdk和jmeter一致 下载地址:https://www.oracle.com/java/technologi ...

  8. JSF预热功能在企业前台研发部的实践与探索

    作者:京东零售 李孟东 00 导读 企业前台研发部包含了企业业务大部分的对外前台系统,其中京东VOP平台(开放平台)适合于自建内网采购商城平台的企业客户. 京东为这类客户专门开发API接口,对接到客户 ...

  9. [Java]排序算法>交换排序>【冒泡排序】(O(N*N)/稳定/N较小/有序/顺序+链式)

    1 冒泡排序 1.1 算法思想 交换排序的基本思想:两两比较待排序记录的关键字,一旦发现2个记录不满足次序要求时,则:进行交换,直到整个序列全部满足要求为止. 1.2 算法特征 属于[交换排序] 冒泡 ...

  10. MordernC++之左值(引用)与右值(引用)

    左值与右值 C++中左值与右值的概念是从C中继承而来,一种简单的定义是左值能够出现再表达式的左边或者右边,而右值只能出现在表达式的右边. int a = 5; // a是左值,5是右值 int b = ...