Selenium - 元素定位

CSS 定位进阶

元素示例

属性定位

# css 通过id属性定位
driver.find_element_by_css_selector("#kw") # css 通过class属性定位
driver.find_element_by_css_selector(".s_ipt") # css 通过标签属性定位
diver.find_element_by_css_selector("input")

其他属性定位

# css by autocomplete
driver.find_element_by_css_selector("[autocomplete='off']") # css by type
driver.find_element_by_css_selector("[type='text']")

组合定位

# css 通过input标签与id属性的组合
driver.find_element_by_css_selector("input#kw") # css 通过input标签与class属性组合
driver.find_element_by_css_selector("input.s_ipt") # css 通过input标签与name属性组合
driver.find_element_by_css_selector("input[name='wd']") # css 通过input标签与其它属性组合
driver.find_element_by_css_selector("input[autocomplete='off']")

文本定位

# css 通过标签与页面字符
driver.find_element_by_css_selector("input[text()=百度一下])

逻辑运算定位

# css 实现逻辑运算,同时匹配两个属性
driver.find_element_by_css_selector("[name='wd'][id='kw']")

层级关系定位

# css 通过层级关系定位
driver.find_element_by_css_selector("form#form>span>input") # css 通过层级关系定位
driver.find_element_by_css_selector("form.fm>span>input")

索引下标定位

# 选择第一个option
driver.find_element_by_css_selector("select#nr>option:nth-child(1)") # 选择第二个option
driver.find_element_by_css_selector("select#nr>option:nth-child(2)") # 选择第三个option
driver.find_element_by_css_selector("select#nr>option:nth-child(3)") # 最后一个option
driver.find_element_by_css_selector("select#nr>option:last-child")

Selenium - 元素定位(3) - CSS进阶的更多相关文章

  1. selenium元素定位之css选择器

    在selenium元素定位时会用到css选择器选取元素,虽说xpath在定位元素时能解决大部分问题,但使用css选择器选取元素也是一种不错的选择. css相较与xpath选择元素优点如下: 表达式更加 ...

  2. python+selenium元素定位之CSS学习02

    参考文档:https://www.runoob.com/cssref/css-selectors.html CSS选择器用于选择你想要的元素的样式的模式. "CSS"列表示在CSS ...

  3. python+selenium元素定位之CSS学习01

    参考文档:https://www.w3school.com.cn/cssref/css_selectors.asp 选择器 例子 例子描述 CSS .class .intro 选择 class=&qu ...

  4. 自动化测试基础篇--Selenium元素定位

    摘自https://www.cnblogs.com/sanzangTst/p/7457111.html 一.Selenium元素定位的重要性: Web自动化测试的操作:获取UI页面的元素,对元素进行操 ...

  5. Selenium3 + Python3自动化测试系列二——selenium元素定位

    一.selenium元素定位 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素 才能进行后续的自动化控制,我在这里将对selenium8种元 ...

  6. selenium元素定位陷阱规避

    为什么selenium可以在各个浏览器上运行?因为selenium在与各个浏览器驱动执行前,会先把脚本转化成webdriver, webdriver wire协议(一种json格式的协议),这样就与脚 ...

  7. Java + selenium 元素定位(4)之By CSS

    这篇我要介绍元素定位的倒数第二个方法啦,就是基于CSS的元素定位.关于一些CSS的知识,我这里就不累赘的讲了,以后可能会单独写一篇关于CSS的介绍.当然个人推荐如果之前完全没有CSS只是储备的,可以选 ...

  8. 超全selenium元素定位XPath、CSS

    说明:在HTML页面中,<p> 是一个标签,<p>hello</p> 是一个元素,元素由一个开始的标签和结束的标签组成.<font color="r ...

  9. selenium元素定位篇

    Selenium webdriver是完全模拟用户在对浏览器进行操作,所有用户都是在页面进行的单击.双击.输入.滚动等操作,而webdriver也是一样,所以需要我们指定元素让webdriver进行单 ...

  10. python学习之——selenium元素定位

    web自动化测试按步骤拆分,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告. 其中定位元素尤为关键,此篇是使用webdriver通过页面各个 ...

随机推荐

  1. 【Beat】Scrum Meeting 1

    时间:2021年6月26日 1.各个成员今日完成的任务以及贡献小时数 姓名 今日完成任务 贡献小时数 鑫 编写软件的功能测试方案文档,录制视频演示软件系统安装配置过程 4 荣娟 编写软件的功能测试方案 ...

  2. 禅道 docker 部署

    官方文档:https://hub.docker.com/r/idoop/zentao 1.创建本地目录:mkdir -p /data/zbox 2.启动容器: sudo docker run -itd ...

  3. 【Linux 中断】红外接收器设备驱动

    一.概述 现在很多家电都使用了红外,而智能家居的诞生,连音响都带了红外遥控功能.为了解决家里遥控器比较多的情况,多数手机都支持了红外功能,这和以前的万能遥控器一样.这里主要记录红外接收的驱动,当然明白 ...

  4. Python学习笔记--函数来啦!

    函数 函数,就是组织好的,可重复使用的,用来实现特定功能的代码块 实际的小案例:不使用内置函数len,利用函数知识计算出字符串的长度 实现: 函数的基础定义语法 案例:自动查核酸 实现: 函数的传入参 ...

  5. 详解低延时高音质:丢包、抖动与 last mile 优化那些事儿

    本篇是「详解低延时高音质系列」的第三篇技术分享.我们这次要将视角放大,从整个音频引擎链路的角度,来讲讲在时变的网络下,针对不同的应用场景,如何权衡音质和互动的实时性. 当我们在讨论实时互动场景下的低延 ...

  6. vue核心原理(Diff算法、虚拟dom)

    核心原理&源码 Diff 算法 这里参考大佬文章:https://mp.weixin.qq.com/s/oAlVmZ4Hbt2VhOwFEkNEhw diff 算法的进化 关于 diff 算法 ...

  7. 深入理解 Python 虚拟机:字典(dict)的实现原理及源码剖析

    深入理解 Python 虚拟机:字典(dict)的实现原理及源码剖析 在本篇文章当中主要给大家深入介绍一下在 cpython 当中字典的实现原理,在本篇文章当中主要介绍在早期 python3 当中的版 ...

  8. 【JavaScript快速排序算法】不同版本原理分析

    说明 快速排序(QuickSort),又称分区交换排序(partition-exchange sort),简称快排.快排是一种通过基准划分区块,再不断交换左右项的排序方式,其采用了分治法,减少了交换的 ...

  9. Docker常用软件安装

    jdk dockere pull openjdk:11 docker run -d -t --name java-11 openjdk:11 MySQL 可以从docker hup中查找自己想要安装的 ...

  10. VUE零碎小技巧1

    1.回顾 创建项目 vue create myapp 准备 scss 库 修改了页面的主结构 App.vue 构建页面的基本结构 分离页面主结构,创建各个页面组件 views views/home/i ...