详解xpath定位
xpath定位
1、通过开发者工具直接copy
右击copy-copy xpath
2、串联的方式定位元素
from selenium import webdriver
from time import sleep
driver=webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml2.html')
xpathtext=driver.find_element_by_id('b').find_element_by_tag_name('div').text
print(xpathtext)
driver.quit()
3、通过父元素定位子元素
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml2.html')
mytext = driver.find_element_by_xpath("//div[@id='B']/div").text
mytext = driver.find_element_by_xpath("//div[@id='B']/child::div").text
print(mytext)
driver.quit()
4、通过子元素定位父元素
from selenium import webdriver
# "由子节点定位父节点"
driver = webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml3.html')
# 1.xpath: `.`代表当前节点; '..'代表父节点
mytext = driver.find_element_by_xpath("//div[@id='C']/../..").text
print(mytext)
# 2.xpath轴 parent
mytext1 = driver.find_element_by_xpath("//div[@id='C']/parent::div/parent::div").text
print(mytext1)
driver.quit()
5、通过弟弟节点定位哥哥节点元素
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml4.html')
# 1.xpath,通过父节点获取其哥哥节点
mytext = driver.find_element_by_xpath("//div[@id='D']/../div[1]").text
print(mytext)
# 2.xpath轴 preceding-sibling
mytext1 = driver.find_element_by_xpath("//div[@id='D']/preceding-sibling::div[1]").text
print(mytext1)
driver.quit()
6、通过哥哥节点定位弟弟节点元素
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('C:\CZBK\one\myhtml4.html')
# 1.xpath,通过父节点获取其弟弟节点
mytext = driver.find_element_by_xpath("//div[@id='D']/../div[3]").text
print(mytext)
# 2.xpath轴 following-sibling
mytext1 = driver.find_element_by_xpath("//div[@id='D']/following-sibling::div[1]").text
print(mytext1)
driver.quit()
详解xpath定位的更多相关文章
- Selenium 详解xpath定位
xpath定位在业界被戏称为元素定位的"屠龙宝刀",宝刀在手,武林我有.现在我们就来详解xpath定位方法. 一.xpath通过元素属性定位 xpath可以通过元素的属性来定位,如 ...
- 定位页面元素之xpath详解以及定位不到测试元素的常见问题
一.定位元素的方法 id:首选的识别属性,W3C标准推荐为页面每一个元素设置一个独一无二的ID属性, 如果没有且很难找到唯一属性,解决方法:(1)找开发把id或者name加上.如果不行,解决思路可以是 ...
- dom4j api 详解--XPath 节点详解
dom4j api 详解 http://871421448.iteye.com/blog/1546955 XPath 节点 http://www.w3school.com.cn/xpath/xpath ...
- Selenium 详解CSS定位
xpath定位是“屠龙刀”,那CSS定位就是"倚天剑了",相对xpath来说,具有语法简单,定位速度快等优点 一.属性定位 1.可以通过元素的id,class,tag标签这三个属性 ...
- 详解Android定位
相信很多的朋友都有在APP中实现定位的需求,今天我就再次超炒冷饭,为大家献上国内开发者常用到的三种定位方式.它们分别为GPS,百度和高德,惯例先简单介绍下定位的背景知识. 什么是GPS定位.基站定位和 ...
- 详解position定位与定位应用
定位一直是WEB标准应用中的难点,如果理不清楚定位那么可能应实现的效果实现不了,实现了的效果可能会走样.如果理清了定位的原理,那定位会让网页实现的更加完美. 定位的定义: 在CSS中关于 ...
- selenium:Xpath定位详解
xpath定位在业界被戏称为元素定位的"屠龙宝刀",宝刀在手,武林我有.现在我们就来详解xpath定位方法. 一.xpath通过元素属性定位 xpath可以通过元素的属性来定位,如 ...
- 网页元素定位神器之Xpath详解
摘要: 经常在工作中会使用到XPath的相关知识,但每次总会在一些关键的地方不记得或不太清楚,所以免不了每次总要查一些零碎的知识,感觉即很烦又浪费时间,所以对XPath归纳及总结一下. ... ...
- UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)
Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...
随机推荐
- Windows实现桌面录屏、指定窗口录制直播,低延时,H5页面播放
接着前面记录的3种方式实现桌面推流直播: 1.Windows 11实现录屏直播,搭建Nginx的rtmp服务 的方式需要依赖与Flash插件,使用场景有限 2.Windows 11实现直播,VLC超简 ...
- Python + Selenium 上传元素为button类型的文件的解决办法
工具:winspy Python所需安装模块:pywin32 (安装语句:pip install -i https://pypi.douban.com/simple pywin32) 元素位置: 对应 ...
- django 修改模型中默认字段类型
在ADMIN页面实现一个密码框,模型中是CharField默认类型是textinput,实现方法是在admin.py中重写widgets. 来自为知笔记(Wiz)
- centos7 自动交互expect 安装使用
1.安装 https://www.cnblogs.com/rocky-AGE-24/p/7256800.html 安装expect命令 两种方式yum安装 yum -y install expect ...
- 详解nohup /dev/null 2>&1 含义的使用
https://www.jb51.net/article/169837.htm 这篇文章主要介绍了详解nohup /dev/null 2>&1 含义的使用,文中通过示例代码介绍的非常详细 ...
- Android函数抽取壳的实现
0x0 前言 函数抽取壳这个词不知道从哪起源的,但我理解的函数抽取壳是那种将dex文件中的函数代码给nop,然后在运行时再把字节码给填回dex的这么一种壳. 函数抽取前: 函数抽取后: 很早之前就想写 ...
- Jetpack—LiveData组件的缺陷以及应对策略 转至元数据结尾
一.前言 为了解决Android-App开发以来一直存在的架构设计混乱的问题,谷歌推出了Jetpack-MVVM的全家桶解决方案.作为整个解决方案的核心-LiveData,以其生命周期安全,内存安全等 ...
- 详解__int128
前言 如果遇到 long long 开不下的情况,可以使用 __int128 来博一把! note :__int128 仅 \(64\) 位 \(GCC G++\) 支持,不在 \(C++\) 标准中 ...
- node.js和vue cli脚手架下载安装配置方法
一.node.js安装以及环境配置 1.下载vue.js 下载地址: https://nodejs.org/en/ 2.安装node.js 下载完成后,双击安装包开始安装.安装地址最好换成自己指定的地 ...
- gin中的SecureJSON 防止 json 劫持
使用 SecureJSON 防止 json 劫持.如果给定的结构是数组值或map,则默认预置 "while(1)," 到响应体. package main import ( &qu ...