Selenium WebDriver 8大定位方式
Selenium WebDriver 8大定位方式:
driver.find_element_by_id()
driver.find_element_by_name()
driver.find_element_by_xpath()
driver.find_element_by_class_name()
driver.find_element_by_tag_name()
driver.find_element_by_css_selector()
driver.find_element_by_link_text()
driver.find_element_by_partial_link_text()
1、id定位:使用标签的id属性,列如百度的搜索输入框:
driver.find_element_by_id("kw")
2、name定位:使用标签的name属性;还是以百度的搜索输入框为列:
driver.find_element_by_name("wd")
3、xpath定位:使用标签的xpath路径,xpath的定位方式请详见我分享xpath定位的一篇文章
在这里还是以百度的搜索输入框为列:
driver.find_element_by_xpath("//*[@id='kw']")
注意:当xpath用双引号引起来,那么里面的标签属性就要用单引号,当然这两对引号可以交替使用,不能同时使用。
4、class定位:使用标签的class属性,在这里还是以百度的搜索输入框为列:
driver.find_element_by_class_name("s_ipt")
5、tag_name定位:使用标签定位,在这里还是以百度的搜索输入框为列:
driver.find_element_by_tag_name("input")
6、css定位:CSS (Cascading Style Sheets)是一种语言,它用来描述HTML XML文档的表现,CSS使用选择器来为页面元素绑定属性。
选择器 | 例子 | 描述 |
---|---|---|
.class | .intro | 选择 class=“intro” 的所有元素 |
#id | #firstname | 选择 id=“firstname” 的所有元素 |
* | * | 选择所有元素 |
element | p | 选择所有<p>元素 |
element+element | div+p | 选择紧接在 <div> 元素之后的所有 <p> 元素(兄弟关系---紧挨着的弟弟) |
element>element | div>p | 选择父元素为 <div> 元素的所有 <p> 元素(父/子关系) |
element element | div p | 选择 <div> 元素内部的所有\ <p> 元素(父/子/孙关系) |
[attribute] | [target] | 选择带有 target 属性所有元素 |
通过class定位:
find_element_by_css-selector(".s_ipt")
find_element_by_css-selector(".bg s_btn")
通过id定位:
find_element_by_css-selector("#kw")
find_element_by_css-selector("#su")
通过标签名定位:
find_element_by_css-selector("input")
通过父子关系定位:
find_element_by_css-selector("span>input")
通过属性定位:
find_element_by_css-selector("[name = 'kw']")
find_element_by_css-selector("[type= 'submit']")
组合定位:
find_element_by_css-selector(" form.fm > span > input.s_ipt ")
7、link_text定位:通过链接文本定位:
driver.find_element_by_link_text("登录")
8、partial_link_text定位:通过查找局部链接文本的定位方式
driver.find_element_by_partial_link_text("登")
以上就是webdriver常用的8大定位方式。。
最新文章
- C# 验证类(使用正则表达式 验证文本框)
- 服务器上搭建web环境
- js传递参数中包含+号时的处理方法
- Qt之QLabel
- U制作LFS linux
- 微信公共服务平台开发(.Net 的实现)2-------获得ACCESSTOKEN
- 文件上传工具swfupload[转]
- Tomcat启动后加载两次web.xml的问题(因为spring定时任务执行了俩次,引出此问题)
- Solr4.8.0源码分析(20)之SolrCloud的Recovery策略(一)
- 获取CPU使用情况信息(转)
- UISearchBar去除底部黑线问题
- HDU 3366 Passage (概率DP)
- GIMP也疯狂之动态图的制作(四)
- JSP获取Cookie对象
- mac cocos2dx android
- Dalvik和ART
- Docker Swarm Mode 学习笔记 (基本概念)
- Gpload安装手册(Linux版本)
- vs.code调试node.js的C++扩展
- ZOJ 1314 Reactor Cooling | 上下界无源汇可行流