Python-selenium 元素定位
1、id定位
find_element_by_id() 通过id属性定位元素,如果id是动态变化的话不能用id来进行定位
2、name定位
find_element_by_name() 通过name属性定位元素,不过有时候一个页面中会有多个name名相同的,这时就不能用name来定位啦
3、class定位
find_element_by_class_name() 通过class属性定位元素
4、tag定位
find_element_by_tag_name() 通过tag name来定位元素,这里的tag name是指元素的标签,如<input> 、<div> 、<a>等等
5、link定位
find_element_by_link_text() 通过元素标签对之间的文本信息来定位元素。这个定位是专门用来定位文本链接的。如网页中的超链接,链接标签<a>
6、partial link定位
find_element_by_partial_link_text() 通过元素标签对之间的部分文本信息来定位元素
7、xpath定位 find_element_by_xpath()
(1)绝对路径定位
一级一级往上找,或者是从html一层一层往下找
(2)利用元素属性定位
使用id name class type 等等元素属性来定位,只要是元素属性都可以,只要能唯一标识一个元素
(3)层级与属性结合
如果元素本身没有可以唯一标识元素属性值的,可以找上一级(或上上级)的元素属性
(4)使用逻辑运算符
如果一个属性不能唯一区分,可以通过逻辑运算符and来连接多个属性来查找元素
注:火狐浏览器如果装了firepath插件的,可在选择元素后右击复制xpath路径,也可以打开firebug直接查看路径
8、css定位find_element_by_css_selector()
(1)通过class属性来定位 点号(.)表示通过class元素定位
(2)通过id属性来定位 井号(#)表示id元素定位
(3)通过标签名来定位 标签名重复概率大
1)父子关系定位
find_element_by_css_selector("span>input")
2)属性定位
find_element_by_css_selector('[type="submit"]')
3)组合定位
find_element_by_css_selector("form.fm>span>input.s_ipt")
备注:css语法可以通过firepath获得
9、用By定位元素
都使用find_element()方法,该方法有两个参数,第一个是定位类型,第二个参数是定位的具体方式:
driver.find_element(By.ID,"kw")
注意:在使用By之前需要引用对应的By类包
10、定位一组元素(8种)
find_elements_by_id()
find_elements_by_name()
find_elements_by_class_name()
find_elements_by_tag_name()
find_elements_by_link_text()
find_elements_by_partial_link_text()
find_elements_by_xpath()
find_elements_by_css_name()
len() 用来计算元素的个数
pop() 用于获取列表找那个的一个元素(默认为最后一个)
pop参数值的意思,由0开始,0代表第一位,1代表第二位,以此类推...-1也是默认值,代表最后一个
checkbox.html
checkbox.py
http://www.cnblogs.com/eastmount/p/4810690.html
Python-selenium 元素定位的更多相关文章
- python selenium 元素定位(三)
上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到 ...
- python+selenium元素定位——8种方法
定位元素,selenium提供了8中元素定位方法: (1)find_element_by_id() :html规定,id在html中必须是唯一的,有点类似于身份证号 (2)find_element_b ...
- python+selenium 元素定位--iframe
1. 一般webdriver要操作页面元素需要在Top Window的状态下,如下: 2.当浏览器显示iframe时,用正常的元素定位是没有效果的,需要将页面装换到iframe下再对页面元素进行操作 ...
- python+selenium元素定位之XPath学习02
XPath 语法 XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. XML 实例文档 我们将在下面的例子中使用这个 ...
- python+selenium元素定位之XPath学习01
参考文档1:https://www.w3school.com.cn/xpath/xpath_syntax.asp 参考文档2:https://www.runoob.com/xpath/xpath-tu ...
- python+selenium元素定位之CSS学习02
参考文档:https://www.runoob.com/cssref/css-selectors.html CSS选择器用于选择你想要的元素的样式的模式. "CSS"列表示在CSS ...
- python+selenium元素定位之CSS学习01
参考文档:https://www.w3school.com.cn/cssref/css_selectors.asp 选择器 例子 例子描述 CSS .class .intro 选择 class=&qu ...
- python+selenium 元素被定位到而且click()也提示执行成功,但是页面就是没有变化和跳转。
python+selenium 元素被定位到而且click()也提示执行成功,但是页面就是没有变化和跳转. 如果多次定位和click(),有时候会跳转. 我遇到很多次就是很郁闷,有人说,操作太快的,页 ...
- Python+Selenium自动化-定位一组元素,单选框、复选框的选中方法
Python+Selenium自动化-定位一组元素,单选框.复选框的选中方法 之前学习了8种定位单个元素的方法,同时webdriver还提供了8种定位一组元素的方法.唯一区别就是在单词elemen ...
- Python+Selenium自动化-定位页面元素的八种方法
Python+Selenium自动化-定位页面元素的八种方法 本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_elemen ...
随机推荐
- 论文速递 | 实例分割算法BlendMask,实时又state-of-the-art
BlendMask通过更合理的blender模块融合top-level和low-level的语义信息来提取更准确的实例分割特征,该模型效果达到state-of-the-art,但结构十分精简,推理速度 ...
- 图-搜索-DFS-37. 解数独
2020-03-24 22:23:32 问题描述: 编写一个程序,通过已填充的空格来解决数独问题. 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次.数字 1-9 在每一列只能出现一 ...
- 推荐系统(Recommender Systems)
本博客是针对Andrew Ng在Coursera上的machine learning课程的学习笔记. 目录 基于内容的推荐(Content-based recommendation) 问题表述 问题范 ...
- python 错误记录及处理
1.pandas解决“pandas.parser.CParserError: Error tokenizing data. C error: Expected 2 fields in line 3, ...
- TensorFlow 模型优化工具包 — 训练后整型量化
模型优化工具包是一套先进的技术工具包,可协助新手和高级开发者优化待部署和执行的机器学习模型.自推出该工具包以来, 我们一直努力降低机器学习模型量化的复杂性 (https://www.tensorfl ...
- XCode8 安装模拟器
1.下载模拟器 参考:http://blog.csdn.net/piratest/article/details/52538978 参考:http://blog.csdn.net/zhangao008 ...
- 模块 collections 高级数据类型
collections模块 原文来自cnblog 的 Eva-J Eva-J 介绍了collections模块的常用方法,和演示实例 在 Python cookbook 的第一章中还有一些 更加好玩的 ...
- Dockerfile极简入门与实践
前文中,罗列了docker使用中用到的基本命令 此文,将会对怎样使用Dockerfile去创建一个镜像做简单的介绍 Dockerfile命令 要开始编写Dockerfile,首先要对相关的命令有个清晰 ...
- c++ 常量/有符号数和无符号数
一.宏定义 #define 和常量 const 1. const关键字 const是constant的简写,只要一个变量前面用const来修饰,就意味着该变量里的数据可以被访问,不能被修改.也就是说c ...
- html前端之css基础
CSS 属性导航: CSS 属性组 动画 背景 边框和轮廓 框 颜色 内容页的媒体属性 尺寸 盒子模型(新) 盒子模型(旧) 字体 内容生成 网格 超链接 线框 列表 外边距 字幕 多列 内边距 页面 ...