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. k8s遇见的问题

    open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory 解决方案   ...

  2. Day5 - 05 函数的参数-关键字参数

    可变参数可以传入任意个参数,并在函数调用时自动组为一个tuple,而关键字参数允许传入任意个携带参数名的参数,这些关键字参数在函数内部自动组为一个dict.         >>> ...

  3. md5 的基本使用

    import hashlib def make_password(password): md5=hashlib.md5() # 实例化 md5.update(password.encode(encod ...

  4. 设置非root账号不用sudo直接执行docker命令

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. react第三单元(react组件的生命周期)

    第三单元(react组件的生命周期) #课程目标 灵活掌握react组件的生命周期以及组件的活动过程. 能够灵活使用react的生命周期 #知识点 react的类组件的生命周期分为三个阶段 实例期 存 ...

  6. 使用BulkLoad恢复hbase数据

    问题: hbase 集群启动不了,maste一直在初始化,数据面临丢失风险. 解决: 把hbfs上 /hbase 目录移走 改名为/hbase-bak 删除zk上的数据,重新建立一个新的hbase集群 ...

  7. DVWA-文件包含-目录遍历学习笔记

    参考文献资料: https://www.cnblogs.com/s0ky1xd/p/5823685.html https://www.cnblogs.com/yuzly/p/10799486.html ...

  8. Python基础编程——数据类型

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 在程序设计和编程中,会涉及到各种各样的数据类型,而不同的数据类型变量之间可以进行的运算是不同的.在p ...

  9. Python的环境是如何安装的,我来教你

    01 初见Python Python编程语言是荷兰人Guido van Rossum在1990年代开发出来的. Gudio拥数学和计算机双硕士学位,但他更喜欢计算机.当时Gudio觉得现有的编程语言无 ...

  10. MySQL5.7.26安装及启动报错解决

    一.安装依赖包 [root@db01 ~]# yum install -y lrzsz [文件上传/下载] [root@db01 ~]# yum -y install xfsprogs [安装磁盘格式 ...