当前位置: 首页 > wzjs >正文

网站显示目录科学新概念seo外链

网站显示目录,科学新概念seo外链,广东网站建设有限公司,中山市seo推广点击软件🧭 XPath 语法简介(Web 自动化核心定位手段)一、XPath 是什么?XPath(XML Path Language)是用于在 XML/HTML 文档中定位节点的语言,由 W3C 标准定义。浏览器支持的是 XPath 1.0。应用场景广泛&am…

🧭 XPath 语法简介(Web 自动化核心定位手段)

一、XPath 是什么?

  • XPath(XML Path Language)是用于在 XML/HTML 文档中定位节点的语言,由 W3C 标准定义。
  • 浏览器支持的是 XPath 1.0
  • 应用场景广泛:用于 SeleniumScrapy 爬虫Appium 移动自动化 等。

二、XPath 与 CSS 对比

特性

CSS Selector

XPath

向上选父节点

❌ 不支持

✅ 支持 /..

向前选兄弟节点

❌ 不支持

preceding-sibling::

根据属性部分匹配

^= *=

starts-with() contains()

结构匹配表达力强

中等

非常强大


三、XPath 基本语法

1️⃣ 绝对路径(从根节点开始)

/html/body/div

等同于 CSS:html > body > div

2️⃣ 相对路径(常用)

//div

表示从任意位置开始,选择所有的 div 元素。// 类似 CSS 的后代选择器空格。

3️⃣ 子元素选择

//div/p       # 直接子元素
//div//p      # 任意后代元素

4️⃣ 通配符 *

//div/*       # div下所有直接子节点

四、按属性选择元素

基础语法

//*[@属性名='属性值']     # 注意 @ 符号和引号

示例

//*[@id='west']
//*[@class='capital huge-city']

⚠️ class 为多个值时,必须匹配完整。

存在属性(不要求值)

//*[@multiple]     # 选择有 multiple 属性的所有元素

属性部分匹配

//*[contains(@style, 'color')]         # 包含 color
//*[starts-with(@style, 'color')]      # 以 color 开头

⚠️ ends-with() 是 XPath 2.0,不被浏览器支持。


五、按位置/顺序选择

第 N 个某类元素

//p[2]           # 所有 p 中的第 2 个
//div/p[2]       # div 下的 p 中第 2 个

第 N 个任意子元素

//div/*[2]

倒数第几个

//p[last()]          # 最后一个 p
//p[last()-1]        # 倒数第二个
//div/p[last()-2]    # div 中 p 的倒数第三个

范围选择

//option[position()<=2]
//*[@class='multi_choice']/*[position()>=last()-2]

六、组合选择、父节点与兄弟节点

组选择(或运算)

//option | //h4
//*[@class='a'] | //*[@class='b']

父节点选择

//*[@id='china']/..

可以用于先选子,再回到父节点。

兄弟节点选择

//*[@class='single_choice']/following-sibling::*        # 后续兄弟
//*[@class='single_choice']/preceding-sibling::*[1]     # 前一兄弟

CSS 仅支持后续兄弟(~),不支持前兄弟选择。


七、Selenium 中使用 XPath 的注意点

1️⃣ 基本用法

driver.find_elements(By.XPATH, "//div")

2️⃣ 在 WebElement 内部查找子节点时要加 .

china = driver.find_element(By.ID, 'china')
elements = china.find_elements(By.XPATH, './/p')  # 必须加点

如果不加 .//,会从整个 DOM 根节点开始查找,而不是从当前元素。


✅ 小结:XPath 常用关键字/函数速查表

表达式

含义

/

绝对路径或直接子节点

//

相对路径或任意后代节点

*

通配符,匹配任意标签

[@attr='value']

根据属性精确匹配

contains(@attr, xxx)

属性包含子串

starts-with(@attr, x)

属性以字符串开头

position()

子元素的位次

last()

最后一个子元素位置

/..

父节点

preceding-sibling::*

前兄弟节点

following-sibling::*

后兄弟节点

`

`

组选择

http://www.dtcms.com/wzjs/413120.html

相关文章:

  • 做建材的网站好名字销售课程视频免费
  • iis添加网站后怎么打开软文营销
  • 旅游营销型网站建设快手刷粉网站推广
  • mvc5 web网站开发实战模板下载网站
  • html5网站布局教程中国站长素材网
  • 温州合作网站重大新闻事件
  • 自助建站软件下载软文网站平台
  • 上海集团网站建设公司好三只松鼠营销策划书
  • wap网站预览快速建站工具
  • 二道江网站建设百度指数关键词
  • Wordpress中毒seo关键词排名怎么优化
  • 帝国程序如何改网站标题今日时政新闻热点
  • wordpress删除文章的分类目录2022最好的百度seo
  • 温州网站制作网站优化教程
  • 网站开发技术人员保密协议百度seo优化服务
  • 酥糖的网站建设的目的是什么发帖推广百度首页
  • 河北省建设执业注册中心网站手机百度下载安装
  • 音乐网站制作视频教学广州seo网络推广员
  • 凡科网站的排名做不上去友情链接网站大全
  • 上海建网站的公司seo教学网站
  • 网站的meta标签优化seo专业培训需要多久
  • 网站主编 做啥俄罗斯搜索引擎yandex官网入口
  • 如何给自己做网站免费发布推广的平台有哪些
  • 菏泽地网站seo西安seo技术
  • 成都 网站建设企业培训课程视频
  • 公司logo设计费关键词优化简易
  • 百度包年推广网站建设最近几天的新闻
  • 做网站买了域名后杭州网站
  • 网站建设系统教程五合一网站建设
  • 服务好的做培训网站百度快照在哪里找