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大定位方式。。

最新文章

  1. C# 验证类(使用正则表达式 验证文本框)
  2. 服务器上搭建web环境
  3. js传递参数中包含+号时的处理方法
  4. Qt之QLabel
  5. U制作LFS linux
  6. 微信公共服务平台开发(.Net 的实现)2-------获得ACCESSTOKEN
  7. 文件上传工具swfupload[转]
  8. Tomcat启动后加载两次web.xml的问题(因为spring定时任务执行了俩次,引出此问题)
  9. Solr4.8.0源码分析(20)之SolrCloud的Recovery策略(一)
  10. 获取CPU使用情况信息(转)
  11. UISearchBar去除底部黑线问题
  12. HDU 3366 Passage (概率DP)
  13. GIMP也疯狂之动态图的制作(四)
  14. JSP获取Cookie对象
  15. mac cocos2dx android
  16. Dalvik和ART
  17. Docker Swarm Mode 学习笔记 (基本概念)
  18. Gpload安装手册(Linux版本)
  19. vs.code调试node.js的C++扩展
  20. ZOJ 1314 Reactor Cooling | 上下界无源汇可行流

热门文章

  1. AcWing 362. 区间
  2. Java为什么称为动态编译?
  3. ELK-Kibana汉化
  4. 短视频去水印v1.0(还支持74个平台)
  5. kafka监控之topic的lag情况监控
  6. 热部署Devtools
  7. 点击劫持(Iframe clickJack)练习
  8. Codis集群相关
  9. 使用OpenOffice实现文档预览
  10. 小白经典CNN论文复现系列(一):LeNet1989