Selenium WebDriver 8大定位方式
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大定位方式的更多相关文章
- selenium WebDriver 八种定位方式源码
/* * 多种元素定位方式 */ package com.sfwork; import java.util.List; import org.openqa.selenium.By; import or ...
- Java + Selenium + WebDriver八大元素定位方式
UI自动化测试的第一步就是进行元素定位,下面给大家介绍一下Selenium + WebDriver的八大元素定位方式.现在我们就以百度搜索框为例进行元素定位,如下图: 一.By.name() Java ...
- selenium webdriver 表格的定位方法练习
selenium webdriver 表格的定位方法 html 数据准备 <html> <body> <div id="div1"> <i ...
- Selenium 之18 种定位方式
1 id 定位 driver.find_element_by_id() HTML 规定id 属性在HTML 文档中必须是唯一的.这类似于公民的身份证号,具有很强的唯一性 from selenium i ...
- [selenium webdriver Java]元素定位——findElement/findElements
策略 语法 语法 描述 By id driver.findElement(By.id()) driver.findElements(By.id()) 通过id属性定位元素 By name driver ...
- selenium webdriver python 元素定位
总结 定位查找时,返回查找到的第一个match的元素.如果找不到,则 raise NoSuchElementException 单个元素定位: find_element_by_idfind_e ...
- Selenium八种基本定位方式---基于python
from selenium import webdriver driver=webdriver.Firefox() driver.get("https://www.baidu.com&qu ...
- selenium webdriver XPath的定位方法练习 !
html 代码: <html> <body> <div id="div1"> <input name="divl1input& ...
- PhantomJS + Selenium webdriver 总结-元素定位
webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要高些,使用id,name属性定位元素是最可靠,效率最高的一 ...
随机推荐
- Angular:惰性加载的模块
①通过ng new angular-module创建一个全新的angular应用,默认不选路由 ②通过一下命令分别创建2个模块和1个组件 ng g m hx1 ng g c hx1 ng g m hx ...
- 前置机器学习(四):一文掌握Pandas用法
Pandas提供快速,灵活和富于表现力的数据结构,是强大的数据分析Python库. 本文收录于机器学习前置教程系列. 一.Series和DataFrame Pandas建立在NumPy之上,更多Num ...
- axios 封装 跨域 实现 (后端跨域配置白名单)
1. 始vue化项目 vue init webpack deaxios # 使用脚手架创建项目 deaxios(项目名,随便取得) cd deaxios # 进入项目cnpm install npm ...
- 1.pipeline原理
redis基本语法:https://www.cnblogs.com/xiaonq/p/7919111.html redis四篇:https://www.cnblogs.com/xiaonq/categ ...
- springmvc中ModelAttribute注解应用在参数中
可以用@ModelAttribute来注解方法参数或方法.带@ModelAttribute创建的参数对象会被添加到Model对象中.注解在参数上时,可以从Form表单或URL参数中获取参数并绑定到mo ...
- PHPSHE 1.7前台SQL注入漏洞分析
此CMS SQL注入漏洞产生原因为未将经过 addslashes() 函数过滤的数据使用单引号包裹,从而导致的SQL注入漏洞.接下来看漏洞详情: 首先查看phpshe下的common.php文件37 ...
- Angular *ngIf length
Angular *ngIf length 在Angular中如何判断*ngIf Arrary的长度? 具体代码如下: result = []; <div class="kt-secti ...
- Linux系统搭建RabbitMQ
下载erlang和rabbitmq-server 1.下载Erlang安装包 [root@VM_0_9_centos soft]# wget http://erlang.org/download/ot ...
- Python常用配置文件ini、json、yaml读写总结
开发项目时,为了维护一些经常需要变更的数据,比如数据库的连接信息.请求的url.测试数据等,需要将这些数据写入配置文件,将数据和代码分离,只需要修改配置文件的参数,就可以快速完成环境的切换或者测试数据 ...
- python pip命令的安装与实验安装scrapy
大家在使用python时候,很多时候导入模块都会发现该模块不存在,那么我们就需要下载安装,可是有时候安装会出现各种问题,大家回去请教别人,大部分程序员会回答你:pip install 什么等,可是你p ...