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

Selenium WebDriver 8大定位方式的更多相关文章

  1. selenium WebDriver 八种定位方式源码

    /* * 多种元素定位方式 */ package com.sfwork; import java.util.List; import org.openqa.selenium.By; import or ...

  2. Java + Selenium + WebDriver八大元素定位方式

    UI自动化测试的第一步就是进行元素定位,下面给大家介绍一下Selenium + WebDriver的八大元素定位方式.现在我们就以百度搜索框为例进行元素定位,如下图: 一.By.name() Java ...

  3. selenium webdriver 表格的定位方法练习

    selenium webdriver 表格的定位方法 html 数据准备 <html> <body> <div id="div1"> <i ...

  4. Selenium 之18 种定位方式

    1 id 定位 driver.find_element_by_id() HTML 规定id 属性在HTML 文档中必须是唯一的.这类似于公民的身份证号,具有很强的唯一性 from selenium i ...

  5. [selenium webdriver Java]元素定位——findElement/findElements

    策略 语法 语法 描述 By id driver.findElement(By.id()) driver.findElements(By.id()) 通过id属性定位元素 By name driver ...

  6. selenium webdriver python 元素定位

    总结   定位查找时,返回查找到的第一个match的元素.如果找不到,则 raise NoSuchElementException   单个元素定位: find_element_by_idfind_e ...

  7. Selenium八种基本定位方式---基于python

    from selenium import  webdriver driver=webdriver.Firefox() driver.get("https://www.baidu.com&qu ...

  8. selenium webdriver XPath的定位方法练习 !

    html  代码: <html> <body> <div id="div1"> <input name="divl1input& ...

  9. PhantomJS + Selenium webdriver 总结-元素定位

    webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要高些,使用id,name属性定位元素是最可靠,效率最高的一 ...

随机推荐

  1. 基于jaccard相似度的LSH

    使用Python通过LSH建立推荐引擎 LSH:一个可以用来处理成百上千行的算法 前提: Python 基础 Pandas 学完本教程之后,解锁成就: 通过建立shingles 为LSH准备训练集和测 ...

  2. Windows的API功能查询

    在逆向分析时,一些Windows的API函数往往是我们的突破口.但这些函数很难记得一清二楚,以下是我的查找办法,做个小结. 官网 https://docs.microsoft.com/en-us/wi ...

  3. Java并发编程的艺术(三)——synchronized

    什么是synchronized synchronized可以保证某个代码块或者方法被一个线程占有,保证了一个线程的可先性.java 1.6之前是重量级锁,在1.6进行了各种优化,就不那么重了,并引入了 ...

  4. Angular:管道和自定义管道

    ①管道的使用,更多管道在angular官网上有 <p>全部转为大写:{{'hahahah' | uppercase}}</p> <p>保留两位小数:{{1.4555 ...

  5. 【Cesium 颜狗初步】fabric 材质定义与自定义着色器实践

    fabric 材质定义:着色器实践 1. 示例代码 贴到沙盒里就可以运行: var viewer = new Cesium.Viewer("cesiumContainer"); v ...

  6. PHP字符串你不知道的事

    PHP常见的定义字符串的方式有那些? 1.单引号 在单引号中,任何特殊字符都会按原样输出[除\.\'将会被转义输出],不是什么都不解析的,这是很多人的误解 echo 'this is a var!'. ...

  7. mybatis默认返回类型

    在mybatis中,无论你指定还是不指定返回类型,mybatis都会默认的先将查询回的值放入一个hashMap中(如果返回的值不止一条就是一个包含hashMap的list).这其中的区别在于,如果你指 ...

  8. 06-flask-文件上传案例

    前端代码 Demo.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  9. 4. 上新了Spring,全新一代类型转换机制

    目录 ✍前言 版本约定 ✍正文 PropertyEditor设计缺陷 新一代类型转换 Converter 代码示例 不足 ConverterFactory 代码示例 不足 GenericConvert ...

  10. 来吧,自己动手撸一个分布式ID生成器组件

    在经过了众多轮的面试之后,小林终于进入到了一家互联网公司的基础架构组,小林目前在公司有使用到架构组研究到分布式id生成器,前一阵子大概看了下其内部的实现,发现还是存在一些架构设计不合理之处.但是又由于 ...