首页 > 其他分享 >xpath

xpath

时间:2023-09-16 12:32:33浏览次数:42  
标签:xpath 元素 选取 article div 节点

XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。

XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是XPath很快地被开发者采用来当作小型查询语言。


一、xpath:

1. 简介:

  • xpath使用路径(类似文件路径)表达式在xml和html中进行定位具体元素.
  • xpath包含标准函数库.
  • xpath是一个w3c的标准.

XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。路径表达式是从一个XML节点(当前的上下文节点)到另一个节点、或一组节点的书面步骤顺序。这些步骤以“/”字符分开,每一步有三个构成成分:

  • 轴描述(用最直接的方式接近目标节点)
  • 节点测试(用于筛选节点位置和名称)
  • 节点描述(用于筛选节点的属性和子节点特征)

一般情况下,我们使用简写后的语法。虽然完整的轴描述是一种更加贴近人类语言,利用自然语言的单词和语法来书写的描述方式,但是相比之下也更加啰嗦。


2. xpath节点关系:

  • 父节点
  • 子节点
  • 同胞节点
  • 先辈节点
  • 后代节点

3. xpath语法:

表达式          说明
article         选取所有article元素的所有子节点
/article        选取根元素article
article/a       选取所有属于article的子元素的a元素
//div           选取所有div子元素(不论出现在文档任何地方)
article//div    选取所有属于article元素的后代的div元素,不管它出现在article之下的任何位置
//@class        选取所有名为class的属性

/article/div[1]         选取属于article子元素的第一个div元 素
/article/div[last()]    选取属于article子元素的最后一个div元素
/article/div[last()-1]  选取属于article子元素的倒数第二个div元素
//div[@lang]            选取所有拥有lang属性的div元素
//div[@lang='eng']      选取所有lang属性为eng的div元素

/div/*                   选取属于div元素的所有子节点
//*                      选取所有元素
//div[@*]                选取所有带属性的title元素
/div/a | //div/p         选取所有div元素的a和p元素
//span | //ul            选取文档中的span和ul元素
article/div/p | //span   选取所有属于article元素的div元素的p元素以及文档中所有的span元素

4. 快速得到xpath节点:

/html/body/div[2]/div[2]/div/div[2]/form/div/div/div/a[5]/div[2]/div

标签:xpath,元素,选取,article,div,节点
From: https://blog.51cto.com/u_16251183/7492427

相关文章

  • xpath数据解析
    xpath:最常用且最高效便捷的一种解析方式。语言通用性。数据解析需求首选XPath解析。path解析原理1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中2.调用etree对象的xpath方法结合着xpath表达式实现实现标签的定位和内容的捕获。一.环境的......
  • Python学习日记 xpath练习
    importrequestsfromlxmlimportetreeimportreimportrandomimporttracebackfromtimeimportsleep#url='https://image.baidu.com/search/acjson?tn=resultjson_com&logid=8700291432374701138&ipn=rj&ct=201326592&is=&fp=result&a......
  • 使用Java Xpath 爬取某易云歌曲
    本文使用Javaxpath爬取某易云歌曲,并下载至本地。代码仅用于个人学习使用,欢迎各位大佬提出建议。1、添加依赖<dependency><groupId>cn.wanghaomiao</groupId><artifactId>JsoupXpath</artifactId><version>2.2</version>......
  • 【4.0】爬虫之xpath
    【xpath解析】xpath在Python的爬虫学习中,起着举足轻重的地位,对比正则表达式re两者可以完成同样的工作,实现的功能也差不多,但xpath明显比re具有优势,在网页分析上使re退居二线。xpath全称为XMLPathLanguage一种小型的查询语言xpath的优点:可在XML中查找信息支持HTML......
  • Xpath定位方式
    Xpath定位方法 **浏览器中如何找到元素**Chrome浏览器:按F12,将鼠标点击下图中的图标,再到浏览器页面上选择需要定位的元素,Elements页中就会自动定位高亮显示页面中的元素。1.1.绝对路径定位顾名思义,将Xpath表达式从html的最外层节点,逐层填写,最后定位到操作元素类似:/html/......
  • xpath丶BeautifulSoup丶pyquery丶jsonpath 解析html与json串
    XPath与jsonpath1importjson2fromlxmlimportetree3fromjsonpathimportjsonpath45defjson_test():6str1='{"name":"埃里克森"}'7#将字符串转为Pythondict对象8js_obj=json.loads(str1)9print(typ......
  • ::before中的元素无法用xpath进行定位
    上述代码中定位知道了这个按钮,使用常规的xpath无法定位到,查了很多资料有说什么js转的等等,都不对,结果试了试使用CSS_SELECTOR进行定位,就可以定位到。使用CSS选择器定位弹窗中的"知道了"按钮`button=WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CS......
  • 使用selenium、xpath、半自动点赞、自动登录
    selenium等待元素加载#程序执行速度很快---》获取标签---》标签还没加载好---》直接去拿会报错#显示等待:当你要找一个标签的时候,给它单独加等待时间#隐士等待:只要写一行,代码中查找标签,如果标签没加载好,会自动等待 bro.implicitly_wait(10)selenium元素操作#输入框输......
  • selenium、xpath、打码平台
    目录1selenium等待元素加载2selenium元素操作3selenium执行js4selenium切换选项卡5selenium前进后退,异常处理6selenium登录cnblogs7抽屉半自动点赞8xpath使用9动作链10自动登录1230611打码平台12打码平台自动登录1selenium等待元素加载#程序执行速度很快---》获取......
  • xpath使用
    ###xpath使用```python页面中定位元素(标签),两种通用方式# -css选择器#-xpath:XPath即为XML路径语言(XMLPathLanguage),它是一种用来确定XML文档中某部分位置的语言#xpath语法#div 选取div标签#/ 从根节点选取#// 从匹配选择的当前节点选择文档中......