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. Kubernetes K8S之鉴权RBAC详解

    Kubernetes K8S之鉴权概述与RBAC详解 K8S认证与授权 认证「Authentication」 认证有如下几种方式: 1.HTTP Token认证:通过一个Token来识别合法用户. H ...

  2. 四、Jmeter安装插件

    Jmeter安装插件方法和使用 1-下载Jmeter管理jar包 下载地址:https://jmeter-plugins.org/install/Install/ 2-点击下载 plugins-man ...

  3. 面试 09-02.js运行机制:异步和单线程

    09-02.js运行机制:异步和单线程 #前言 面试时,关于同步和异步,可能会问以下问题: 同步和异步的区别是什么?分别举一个同步和异步的例子 一个关于 setTimeout 的笔试题 前端使用异步的 ...

  4. 移动端 CSS3动画属性

    一.transform 转换属性 #1. translate位移 transform : translate(50px,100px); //把元素水平移动 50 像素,垂直移动 100 像素 tran ...

  5. SpringDataJPA 多对多的查询

     主要的结构目录: 创建Role.java package cn.itcast.domain; import javax.persistence.*; import java.util.HashSet ...

  6. Ch2信息的表示和处理——caspp深入理解计算机系统

    目录 第2章 信息的表示和处理 2.1 信息存储 2.1.1 十六进制 一.表示法 二.加减 三.进制转换 2.1.2 字 2.1.3 数据大小 2.1.4 字节顺序与表示 一.字节的排列规则 二.打 ...

  7. 个人微信公众号搭建Python实现 -个人公众号搭建-被动回复消息建模(14.3.2)

    @ 目录 1.阅读官方文档 2.思考 关于作者 1.阅读官方文档 点击进入微信官方开发者文档 接收普通消息 文本消息 图片消息 语言消息 视频消息 小视频消息 地理位置消息 链接消息 接收事件消息 关 ...

  8. P2240 【深基12.例1】部分背包问题

    P2240 [深基12.例1]部分背包问题 题目描述 阿里巴巴走进了装满宝藏的藏宝洞.藏宝洞里面有 N(N \le 100)N(N≤100) 堆金币,第 ii 堆金币的总重量和总价值分别是 m_i,v ...

  9. 每日CSS_发光文本效果

    每日CSS_发光文本效果 2020_12_22 源码 1. 代码解析 1.1 html 代码片段 <h1> <span>今</span> <span>天 ...

  10. ceph如何快速卸载所有osd及擦除磁盘分区表和内容并重新加入

    我的ceph集群中有4台服务器,16个osd,因为某些原因,集群中的数据都不要了,但是集群要保留给新的应用使用,集群现有的osd情况如下 [root@ceph-host-01 ~]# cat /etc ...