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的切换问题,然后是多窗口.句柄的处理问题, 在初学是遇到定位不到元素,一直在找上面的问题,发现都不是上面的问题, 后来才发现是页面刷新的问 ...
随机推荐
- ps 快速去掉不需要的部分
1.打开图片---使用套索工具将不需要的圈起来----右键填充--直接点击确定就可以了
- js实现文字分割动画
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...
- 在一个py脚本中调用另外一个py脚本中的类或函数
1.两个文件在同一目录,直接import即可 2.两个文件在不同目录 在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路 ...
- Oracle如何以逗号分隔的字符串拆分为多行数据
近期在工作中遇到某表某字段是可扩展数据内容,信息以逗号分隔生成的,现需求要根据此字段数据在其它表查询相关的内容展现出来,第一想法是切割数据,以逗号作为切割符,以下为总结的实现方法,以供大家参考.指教. ...
- flask 的安装与使用
一.Flask Flask 是一个轻量级的框架,可以将数据库中的数据呈现到页面上(动态网站). 之前搭建的网站是静态网站(没有连接数据库)页面的数据不会改变.但是现在用的网站都是动态网站. 1.下载F ...
- 20道Java实习生笔试面试选择题(内附答案解析)
1.以下对继承的描述错误的是(A) A.Java中的继承允许一个子类继承多个父类 B.父类更具有通用性,子类更具体 C.Java中的继承存在的传递性 D.当实例化子类时会递归调用父类中的构造方法 解 ...
- CTF反序列化逃逸
刷了一下CTF反序列化的题,去年没有好好了解.又补了一次PHP,害太菜了.每天看看别人的博客真的可以鼓舞人.简单记录一下两道字符串逃逸问题 推荐一个反序列化总结的很好的笔记https://www.cn ...
- 从源码角度谈谈MySQL "Too many open files"错误的根本原因
"Too many open files"是一个比较常见的错误,不仅仅是在 MySQL 中.只要是在 Linux 中启动的进程,都有可能遇到这个错误. 究其原因,是进程打开的文件描 ...
- python使用笔记23--面向对象编程
1.面向对象编程概念 面向对象是包含面向过程 面向过程编程 买车: 1.4s看车,买车 2.上保险 保险公司 3.交税 地税局 4.交管所 上牌 面向对象编程 卖车处: 1.4s 2.保险 3.交税 ...
- C语言:int -32768-32767
c语言中int的表示范围是-32768~32767!这得从二进制的原码说起:如果以最高位为符号位,二进制原码最大为0111111111111111=2的15次方减1=32767最小为111111111 ...