Selenium之xpath绝对路径表示法
xpath写法:
绝对路径:以/开始,逐个增加节点用/分割
特点:不能跨级、类似css中的直接子元素选择器
相对路径:用两个斜杠 // 如 //div//p//a
通配符:xpath也有通配符 *
比如 所有的节点 //div/* 选择div下面所有的直接子元素
根据属性和属性的值的选择 ----------- 比如 id 、 class='xxx'等
比如 //*[@style] 选择所有具有style属性的元素 ----- 注意前面必须有个@
比如 //p[@spec='len2'] 选择所有具有spec值len2的元素 -----等价于------- css中的p[speec='len2']
比如 根据id选择 //div[@id='food']
比如 根据class选择 //div[@class='cheese']
模糊的属性值定位元素:
fn:contains(string1,string2)写法 ------- contains() 包含
比如 //*[contains(@style, 'margin-top')]
fn:starts-with(string1,string2)写法 -------- starts-with() 以什么开头
比如 //*[starts-with(@style, 'margin-top')]
:nth-child(n)写法 ----- 选择父元素下第几个子元素
比如 #food :nth-child(2)
:nth-of-type(n)写法 ------- 选择属于父元素下第几个元素的每个元素
比如 #food>p:nth-of-type(2)
子元素选择?:
选择属于其父元素的第n个某个类型的子元素
如 //*[@id='food']/p[1] 等价于 #food>p:nth-of-type(1)
选择属于其父元素的倒数第n个某个类型的子元素
如 //span[last()-1]
//*[@id='food']/span[last()]
还有像 :nth-last-child(n)
nth-last-of-type(n)
子元素选择:
选择属于其父元素的第n个子元素(基于所有类型元素)
如://*[@id='food']/*[position()=2]
支持其他的 比较操作符
如://*[@id='food']/*[position() < 3]
选择属于其父元素的倒数第n个子元素
如://*[@id='food']/*[position()=last()-1]
组元素:
在xpath中,用 | 来隔开, 如: //p | //button
相邻兄弟选择器:
比如: //*[@id='food']/following-sibling::div 找当前元素相邻的元素 往下找
比如: //*[@id='food']/preceding-sinling::div 找当前元素相邻的元素怒 网上找
定位到上级元素:
比如: //div/..
//div//*[id='food']/..
xpath擅长的:
选择父节点 ..符号
position函数, 结合比较操作符
注意:如果在写代码时,driver.find_elements_by_xpath('.//p') 相对路径时,前面必须要加上点。
Selenium之xpath绝对路径表示法的更多相关文章
- 用XPath精确定位节点元素&selenium使用Xpath定位之完整篇
在利用XSL进行转换的过程中,匹配的概念非常重要.在模板声明语句 xsl:template match = ""和模板应用语句xsl:apply-templates select ...
- web中的CSS、Xpath等路径定位方法学习
今天不到八点就到公司了,来的比较早,趁着有点时间,总结下web中的CSS.Xpath等路径定位定位的方式吧! 简单的介绍下xpath和css的定位 理论知识就不罗列了 还是利用博客园的首页.直接附上代 ...
- selenium中Xpath和CSS Selector的使用方法
一.selenium中Xpath的使用方法 1. 什么是xpath? Xpath是XML的路径语言,通俗一点讲就是通过元素的路径来查找这个标签元素 2. 练习Xpath的工具 火狐浏览器,下载插件Fi ...
- selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)
跟你说,你总是靠那个firebug,chrome的F12啥的右击复制xpath绝对总有一天踩着地雷炸的你死活定位不到,这个时候就需要自己学会动手写xpath,人脑总比电脑聪明,开始把xpath语法给我 ...
- selenium:Xpath定位详解
xpath定位在业界被戏称为元素定位的"屠龙宝刀",宝刀在手,武林我有.现在我们就来详解xpath定位方法. 一.xpath通过元素属性定位 xpath可以通过元素的属性来定位,如 ...
- selenium之xpath定位和input文本
selenium之xpath定位和input文本 xpath简单定位: 打开浏览器的F12 在自己需要定位的元素的那里右键 选择copy->xpath selenium获取input下的文本: ...
- selenium+Java,xpath定位方法详解(搬运留存)
用xpath绝对路径比较费事费力,还容易报错,下面几种模糊定位比较灵活好用 driver.findElement(By.xpath("//*[@id='J_login_form']/dl/d ...
- selenium,xpath路径中引入变量
比如,我需要获取每一条微博的阅读数,总不可能所有微博都找出xpath,然后获取阅读数 找规律 “//*[@id='Pl_Official_MyProfileFeed__20']/div/div[2]/ ...
- selenium By.xpath 用法
搞了一下午... 1. Xpath往往以“//”开头,属性都是采用@表示,例如//div[@id='_navigation']/div 2. Firefox有个插件叫做xpather, ...
随机推荐
- [ISE调试] 在ISE调试过程中,遇到过的warning以及消除办法
1.在generate的过程中,在Map环节遇到了下面这个warning 意思:告诉你是黑盒子,而且他本来在设计里面就是黑盒子. 解决办法:点击图中的,会弹出一个代码文件,是声明这个IP核的文件,代码 ...
- java编程思想第四版第八章总结
1. 多态的含义 面向对象的三大基本特征: 封装,继承,多态. 多态是干什么的? 多态将做什么和怎么做分离开.从另一个角度将接口是实现类分离开. 多态的作用 消除类型之间耦合的关系 使用多态的好处? ...
- 理解Spark运行模式(一)(Yarn Client)
Spark运行模式有Local,STANDALONE,YARN,MESOS,KUBERNETES这5种,其中最为常见的是YARN运行模式,它又可分为Client模式和Cluster模式.这里以Spar ...
- 0MQ宗旨
先来看<Implementing distributed applications with 0MQ and some other bad guys...>.用0MQ去实现分布应用,或者用 ...
- 移动端viewport模版
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta cont ...
- React-Hook
import React, { useState } from 'react'; // Hook 写法 function App2 () { const [count,setCount] = useS ...
- 3个例子详解C++ 11 中push_back 和 emplace_back差异
本文首发于个人博客https://kezunlin.me/post/b83bc460/,欢迎阅读最新内容! cpp11 push_back and emplace_back Guide case1 # ...
- Mac下载ChromeDriver
ChromeDriver下载地址: https://npm.taobao.org/mirrors/chromedriver 如何查看chrome版本与ChromeDriver版本对应 查看chrome ...
- ansible start canal
- name: Start canal server shell: source /etc/profile && nohup /opt/canal/bin/startup.sh
- python--debug神器pysnooper
使用它你可以获得什么优势: (1)无需用print就可以获得变量的值: (2)以日志地形式进行保存,方便随时查看: (3)可以根据需要,设置调用函数的深度: (4)多个函数的日志,可以设置前缀进行标识 ...