selenium定位元素位置-xpath
xpath定位元素位置:
1、定位父兄节点:
<div>
<span>我是span1标签</span>
<a id="1" href="www.baidu.com">我是第1个a标签</a>
<p>我是p1标签</p>
<a id="2" href="www.baidu.com">我是第2个a标签</a>
<a id="3" href="www.baidu.com">我是第3个a标签</a>
<a id="4" href="www.baidu.com">我是第4个a标签</a>
<p>我是p2标签</p>
<span>我是span2标签</span>
<a id="5" href="www.baidu.com">我是第5个a标签</a>
</div> 获取第三个a标签的下一个a标签:"//a[@id='3']/following-sibling::a[1]"
获取第三个a标签后面的第N个标签:"//a[@id='3']/following-sibling::*[N]"
获取第三个a标签的上一个a标签:"//a[@id='3']/preceding-sibling::a[1]"
获取第三个a标签的前面的第N个标签:"//a[@id='3']/preceding-sibling::*[N]"
获取第三个a标签的父标签:"//a[@id='3']/.."
2、根据文本内容定位节点:
- browser.find_element_by_xpath('//button/span[contains(text(), "指定文本内容")]').click()
- browser.find_element_by_xpath("//[text()='文字内容']").click()
- browser.find_element_by_xpath("//*[contains(text(),'文字内容')]").click()
3、select标签操作:
from selenium.webdriver.support.select import Select
sel = driver.find_element_by_xpath("//select[@id='status']")
#根据value定位,option中需要有value属性
Select(sel).select_by_value('0') #未审核
Select(sel).select_by_value('1') #初审通过
Select(sel).select_by_value('2') #复审通过
Select(sel).select_by_value('3') #审核不通过
#根据位置index定位
Select(sel).select_by_index(0)
Select(sel).select_by_index(1)
selenium定位元素位置-xpath的更多相关文章
- Web自动化基础(一)使用Selenium定位元素
什么是元素?我们知道网页上有什么内容显示出来,比如一个按钮,一个输入框,一张图片,都可以理解成元素,这些元素是由html代码构成的,比如图片可以用<img>标签来展示,一个输入框可以用&l ...
- selenium 定位元素可以用多个findElement
selenium 定位元素可以用多个findElement,如driver.findElement(By.id"XXX").findElement(By.linkText(XXX) ...
- Selenium定位元素-Xpath的使用方法
工具 Xpath的练习建议下载火狐浏览器,下载插件Firebug.Firepath. 由于最新版火狐不支持Firebug等扩展工具了,所以需要下载49版以下的版本安装https://ftp.mozil ...
- Python+Selenium+Unittest框架使用——Selenium——定位元素(二)
1.定位元素(id.name.class.link.partial link) (1)find_element_by_id() 用百度定位测试,用firebug查看定位元素 ,输入框的id为“kw”, ...
- selenium定位元素方法汇总
#打开网页前三步 from selenium import webdriver driver=webidriver.Chrome() driver.get("https://www.baid ...
- selenium定位元素(本内容从https://my.oschina.net/flashsword/blog/147334处转载)
注明:本内容从https://my.oschina.net/flashsword/blog/147334处转载. 在使用selenium webdriver进行元素定位时,通常使用findElemen ...
- Python+Selenium定位元素的方法
Python+Selenium有以下八种定位元素的方法: 1. find_element_by_id() eg: find_element_by_id("kw") 2. find_ ...
- selenium 定位元素方法
1.通过id定位元素 写法1: element = driver.find_element_by_id("kw") 写法2: from selenium.webdriver.com ...
- Python Selenium定位元素常用解决办法
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException), ...
- python+selenium 定位元素的主要方法
selenium对web各元素的操作首先就要先定位元素,定位元素的方法主要有以下几种: 通过id定位元素:find_element_by_id("id_vaule") 通过name ...
随机推荐
- 三.database阶段回顾
阶段回顾: 1.mysql:文件管理软件 2.三部分: 服务端 sql语句 客户端 3.客户端 mysql navicat 4.授权操作 用户操作 授权操作 5.sql语句 数据库操作 create ...
- 链路状态通告类型知识学习总结,LSA(Link State Advertisement)
链路状态通告类型知识总结,LSA(Link State Advertisement) 一.相关解释,个人相关看法: OSPF是通过LSA数据报文来联系关联路由器,交换信息,同步数据,在此基础上,各路由 ...
- ssh 远程报错 Permission denied, please try again.(密码输入正确也无法登录)
登录KVM 查看sshd服务systemctl status sshd 报错显示error: cloud not get shadow information forXXX 问题原因: 服务器 ...
- List集合增删元素时,UnsupportedOperationException报错问题
我的情况是这样:从数组转集合,操作集合删除元素. // Tab页面标题第一步:String[] mTitles = getResources().getStringArray(R.array.lead ...
- Java 并发线程池线程数配置
1. 如果任务是计算密集型的,线程池大小建议设置为Ncpu + 1 其中N是CPU数量, +1 是为了在某一个线程处于暂停阶段时,有新的线程可以用来执行,减少CPU中断时间. 2. 如果是IO密集型, ...
- unity GetComponent在android端获取对象错误
PlayerObj pobj = go.GetComponent<PlayerObj>(); if (pobj && pobj.IsMyTeam()) { marchAct ...
- Abp框架使用Swgger注释加分组
1.在ConfigureSwaggerServices中配置SwaggerDoc,并options.DocInclusionPredicate((doc, desc) => { return d ...
- .net基础—委托和事件
委托 委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用. 在实例化委托时,可以将其实例与任何具有兼容签名和返回类型的方法相关联. 可以通过委托实例调用方法.可以将任何可访问类或结构中与 ...
- TODOList小黄条
TODOList http://www.yynote.cn/ 总结 windows中的神器
- HTTP请求报文(请求行,请求头,请求体)
HTTP协议 1.简介 HTTP协议(Hyper Text Transfer Protocol,超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...