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. MySQL技术内幕InnoDB存储引擎(七)——事务

    什么是数据库的事务? 事务是访问并更新数据库中各种数据的一个程序执行单元.事务也是数据库区别于文件系统的一个重要特性. 事务需要满足的特性 1.原子性 原子性就是指数据库中的一个完整的事务是不可分割的 ...

  2. 5.深入Istio源码:Pilot-agent作用及其源码分析

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的Istio源码是 release 1.5. 介绍 Sidecar在注入的时候会 ...

  3. uni-app中使用sass

    uni-app在创建时,工程目录下会有个uni.scss文件,我们可以直接在里面定制化scss变量. 全局scss中的坑: 1.如果要引用全局外部scss文件,可以考虑在uni.scss这个系统全局s ...

  4. Java8新特性探索之新日期时间库

    一.为什么引入新的日期时间库 Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateFormat实现成非线程安全的. 关 ...

  5. base64 基本使用 和os模块使用

    1  base64 的基本使用 import base64 with open('../static/upload/63bc620d1594779d6a98c53a3a8db1e5.png','rb' ...

  6. gnuplot中的一些技巧

    http://blog.csdn.net/bill_chuang/article/details/18215051 一.基础篇: 1.plot命令 基本命令:plot {<ranges>} ...

  7. node目录

    1 [了解nodejs] 1.1 [node简介] 1.2 [node的特点] 1.3 [如何安装] 1.4 [如何运行] 2 [es6--基本语法] 2.1 [变量的解构赋值] 2.2 [解构赋值] ...

  8. Javascript 根据文件名判断是否未图片

    var isImage = (/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i).test(filename)

  9. SpringBoot事件监听机制及观察者模式/发布订阅模式

    目录 本篇要点 什么是观察者模式? 发布订阅模式是什么? Spring事件监听机制概述 SpringBoot事件监听 定义注册事件 注解方式 @EventListener定义监听器 实现Applica ...

  10. UWP 自定义RadioButton实现Tab底部导航

    先看效果: 参照Android的实现方式用RadioButton来实现,但是Uwp的RadioButton并没有安卓的Selector选择器 下面是一个比较简单的实现,如果有同学有更好的实现,欢迎留言 ...