selenium元素定位之 八大元素定位
进入网站,按F12,点击弹出框右上角的位置的小箭头,然后移到需要定位的元素上,点击一下即可定位元素
(1) id定位(有id才可以定位)
wd.find_element_by_id('') #输入id属性后面的值 注意有
wd.find_elements_by_id('') #多了个s,表示指定元素不止一个
(2) name定位(有anme才可以定位)
wd.find_element_by_name('') #输入name属性后面的值
wd.find_elements_by_name('') #多了s,表示制定元素不止一个
(3) class定位(有class才可以定位)
wd.find_element_by_class_name('') #输入class等号后面的值
wd.find_elements_by_class_name('') #多了s,表示制定元素不止一个
(4) 标签定位(每个元素的首个单词,就是标签,只有代码特别少的才会用)'''
wd.find_element_by_tag_name('') #输入单词
wd.find_elements_by_tag_name('') #多了s,表示制定元素不止一个
(5) 逐层定位(先定位上一层元素,赋值,然后再定位下一层元素)(可以加s)'''
wd1=wd.find_element_by_name('') #定位上一层元素,然后赋值. 上一层元素可以用各种方法完成,
wd1.find_element_by_tag_name('')
(6) 文本定位和部分文本定位(适合有文字描述的按钮或者下拉框等)'''
wd.find_element_by_link_text('') #输入文本
wd.find_element_by_partial_link_text('') #输入部分文本即可定位
'''路径定位(xpath)'''
#找到元素,右键复制xpath路径
wd.find_element_by_xpath('') #粘贴路径即可
#不用copy,手动输入方法
wd.find_elements_by_xpath('//*[@属性="值"]') # //:所有跟目录, *:所有标签 @:固定的 属性="值"(值需要引号概括)
wd.find_elements_by_xpath('//标签/标签[@属性="值"]') #需要写两个标签,上级标签和本级标签
wd.find_element_by_xpath('/html/body/div/div[4]/div[2]/div/form/span/input') #直接写路径
"""css定位方法(祖孙关系用空格(跳级))(父子关系用>(逐层))(兄弟关系用~(同级))(邻居关系用+(同级))"""
wd.find_element_by_css_selector("a[href='index.php']").click() #标签加属性定位(单属性直接定位)
wd.find_element_by_css_selector("a[href='index.php'][class='cur']").click() #(多属性直接定位)
wd.find_element_by_css_selector("body a").click() #(祖孙关系定位)
wd.find_element_by_css_selector("body>div>a").click() #(父子关系,可以逐层定位)
wd.find_element_by_css_selector("a~a").click() #兄弟关系定位
wd.find_element_by_css_selector("a+a").click() #邻居关系定位
"""class用.表示 id用#表示 """
selenium元素定位之 八大元素定位的更多相关文章
- selenium环境配置和八大元素定位
一.环境配置 1.selenium下载安装 安装一:pip install selenium(多数会超时安装失败) 安装二:pip install -i https://pypi.tuna.tsing ...
- Java + Selenium + WebDriver八大元素定位方式
UI自动化测试的第一步就是进行元素定位,下面给大家介绍一下Selenium + WebDriver的八大元素定位方式.现在我们就以百度搜索框为例进行元素定位,如下图: 一.By.name() Java ...
- selenium八大元素定位方法
1.ID定位 可以根据元素的id来定位属性,id是当前整个HTML页面中唯一的,所以可以通过id属性来唯一定位一个元素,是首选的元素定位方式.(动态ID不做考虑) # 导入webdriver和By f ...
- Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException ...
- Selenium:WebDriver简介及元素定位
参考内容:官方API文档,下载链接:http://download.csdn.net/detail/kwgkwg001/4004500 虫师:<selenium2自动化测试实战-基于python ...
- Python3 Selenium定位不到元素常见原因及解决办法
Python3 Selenium定位不到元素常见原因及解决办法 一.问题描述 在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况: 报错信息: no such e ...
- selenium自动化之定位多个元素
前面我们讲的都是如何定位单个元素,下面讲下怎么去定位多个元素,并且输出文本. 以百度为例:获取标红的这一组元素的文本 这里我用到的是xpath来定位的://div[@id="u1" ...
- Selenium with Python 003 - 页面元素定位
WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...
- selenium定位不到元素
selenium定位不到元素时,网上大部分查到都是iFrame的切换问题,然后是多窗口.句柄的处理问题, 在初学是遇到定位不到元素,一直在找上面的问题,发现都不是上面的问题, 后来才发现是页面刷新的问 ...
随机推荐
- 7.1、controller节点配置
0.配置openstack版本yum源: yum install centos-release-openstack-rocky 1.安装 OpenStack 客户端: yum install pyth ...
- Spring Cloud 专题之四:Zuul网关
书接上回: SpringCloud专题之一:Eureka Spring Cloud专题之二:OpenFeign Spring Cloud专题之三:Hystrix 经过前面三章对Spring Cloud ...
- Java实验项目三——职工类对象数组按照职工生日排序
Program: 修改项目三(1)中的第3题,实现比较方法,将对象数组的数据按照生日的大小给职工排序. Description:令日期类MyDate和员工类Worker类实现接口Comparable, ...
- buu 红帽杯easyre
一.拖入ida静态分析 找到关键函数,然后 这步是可以得出前4个字符是flag,不知道为啥我这边的v15的内存地址为空,不然可以异或解出来的,ida日常抽风... 十次的base64加密,我用在线平台 ...
- Vue中watch与computed的区别
一. 计算属性(computed) 1.计算属性是为了模板中的表达式简洁,易维护,符合用于简单运算的设计初衷.对于运算过于复杂,冗长,且不好维护,因此我们对于复杂的运算应该 使用计算属性的方式去书写. ...
- java基础---常用类
一.字符串类String String:字符串,使用一对""引起来表示,字符串常量池在方法区中 public final class String implements java. ...
- C++ 标准模板库(STL)——容器(Containers)的用法及理解
C++ 标准模板库(STL)中定义了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量(vector).队列(queue).栈(stack).set.map等.这次主要 ...
- urllib3使用池管理发送请求和requests常用方法的基本使用+session使用
使用urllib3的池管理器 urllib3是在urllib进行更加深入的改进,最大的好处就是在urllib的基础上添加了池管理,以至于我们不需要再去注意我们需要由那个链接去发送请求,而只需要获取到链 ...
- java网络编程基础——网络基础
java网络编程 网络编程基础 1.常用的网络拓扑结构: 星型网络.总线网络.环线网络.树形网络.星型环线网络 2.通信协议的组成 通信协议通常由3部分组成: 语义部分:用于决定通信双方对话类型 语法 ...
- React构建组件的方式
一.是什么 组件就是把图形.非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式 在React中,一个类.一个函数都可以视为一个组件 在Vue系列中,我们了解到组件所存在的优势: 降低整个系 ...