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:自定义属性指令
①在命令行窗口下用 CLI 命令ng g directive创建指令类文件 ②将directives/light.directive.ts文件改造一番 import { Directive, Elem ...
- 工作笔记——CPLD与MCU通过SPI通信
一.需求描述 MCU需要接收来自CPLD的升级固件数据 CPLD对MCU只进行发送数据,不接收MCU的数据 CPLD无法告知数据传输的开始和结束,需要MCU自行判断(CPLD只是数据透传,不做数据判断 ...
- AWT04-AWT常用组件
1.基本组件 方法名 说明 Button 按钮 Canvas 用于绘画的画布 Checkbox 复选框组件 CheckboxGroup 用于将多个Checkbox合成一组,一组Checkbox只有一个 ...
- vue 循环结构 v-for
循环结构 v-for 循环数组 用于循环取得数据,类似于js中for-in循环 ,其中in左侧为值,其名称可以自定义,in后为想要取出数据的变量名 运行可以得到结果 in左侧不仅仅只可以放一个值,不仅 ...
- java.net.BindException:Problem binding to [hostname:8088]地址已在使用
异常提示端口号被占用 查找被占用的端口 netstat -tln netstat -tln | grep 8083 netstat -tln ## 查看端口使用情况,而netstat -tln | g ...
- 单身狗福利!利用java实现每天给对象发情话,脱单指日可待!
引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁生成 ...
- 10 个 GitHub 上超火的 CSS 奇技淫巧项目,找到写 CSS 的灵感!
大家好,我是你们的 超级猫,一个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 如果 CSS 是女孩子,肯定如上图那样吧
- 对着爬虫网页HTML学习Python正则表达式re
1.正则表达式初探 用比较经典的例子,查找一段文本中的手机号码.比如对于文本"我现在用的电话是188-8888-8888,之前那个186-6666-6666已经不用了",我们想获取 ...
- SecureCRT的下载、安装和Putty 的使用 SSH连接工具
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件.SecureCRT支持SSH,同时支持Telnet和rlog ...
- 现代JavaScript—ES6+中的Imports,Exports,Let,Const和Promise
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://www.freecodecamp.org/news/learn-modern-jav ...