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. 深入理解 Python 虚拟机:复数(complex)的实现原理及源码剖析

    深入理解 Python 虚拟机:复数(complex)的实现原理及源码剖析 在本篇文章当中主要给大家介绍在 cpython 虚拟机当中是如何实现 复数 complex 这个数据类型的,这个数据类型在 ...

  2. Spring MVC的请求处理逻辑

    当大家了解了如何编写一个简单的Spring MVC程序后,大家心中应该会有一些好奇:这背后到底发生了什么? Spring MVC是怎么把这些功能串联起来的?我们只是写了一个控制器而已,HTTP请求是怎 ...

  3. 基于 Agora SDK 实现 Windows 端的一对一视频通话(基于3.6.2版本)

    前提条件 Microsoft Visual Studio 2019 或以上版本 支持 Windows 7 或以上版本的 Windows 设备 有效的 Agora 账户(免费注册) 注:如果你的网络环境 ...

  4. $\mathcal{Friends\,\,Of\,--Mathic}$

  5. ABC291题解(D-G)

    ABC291 D - Flip Cards Solution: 考虑DP,定义状态\(F_{i,0}\)为第\(i\)张卡片正面朝上的方案数,\(F_{i,1}\)为第\(i\)张卡片背面朝上的方案数 ...

  6. Web前端开发必看的100道大厂面试题

    1. 说说gulp和webpack的区别 开放式题目 Gulp强调的是前端开发的工作流程.我们可以通过配置一系列的task,定义task处理的事务(例如文件压缩合并.雪碧图.启动server.版本控制 ...

  7. 二进制安装Kubernetes(k8s) v1.24.1 IPv4/IPv6双栈 --- Ubuntu版

    二进制安装Kubernetes(k8s) v1.24.1 IPv4/IPv6双栈 --- Ubuntu版本 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安 ...

  8. Semantic Kernel 知多少 | 开启面向AI编程新篇章

    引言 在ChatGPT 火热的当下, 即使没有上手亲自体验,想必也对ChatGPT的强大略有耳闻.当一些人在对ChatGPT犹犹豫豫之时,一些敏锐的企业主和开发者们已经急不可耐的开展基于ChatGPT ...

  9. [数据库]MySQL解决:MySQLNonTransientConnectionException: Could not create connection to database server.【待完善】

    场景复现 mysql数据库 5.7.24 jdbc driver: mysql-connector-java: 5.1.33 jdbc 配置: + jdbc.url + driverName: Tom ...

  10. python:生成半年内的巡检日报execl

    问题描述:使用脚本来生成半年内的数据,数据内容大概为每天的数据库巡检日报,临时抱佛脚.数据不可能是真实的,都是随机生成的,想要使用真实的数据后面直连操作系统或者数据库.后期可以慢慢实现自动化生成每天的 ...