【问题标题】:How to get value between "::before" and "::after" using Xpath?如何使用 Xpath 在 "::before" 和 "::after" 之间获取值?
【发布时间】:2018-11-08 13:46:20
【问题描述】:

我应该如何修改我的 xpath:

//@*[contains(., 'order-num')]

获取之后的订单数量

::之前

从这个截图? Page 进行测试。

【问题讨论】:

标签: xpath


【解决方案1】:

你需要

//span[@class="order-num"]/text()

获取所需值

【讨论】:

  • 谢谢。但我想使用任何包含“order-num”而不是类的东西,而不是“order-num”。有可能吗?
  • @Jooms ,所以id 属性j-order-num 也不适合?
  • 是的,j-order-num 不适合。在某些页面上,此元素的 id 和 class 可能略有不同,但始终包含“order-num”。
  • @Jooms,你的意思是//span[contains(@id, "order-num")]/text()而不是//span[@id="j-order-num"]/text()
  • 这样更好 //*[contains(@id, "order-num")]/text().但是我可以使用任何参数来代替 id 吗?
【解决方案2】:

试试这个表达式:

substring-after(//span[contains(@class,'order-num')][1]/text(),'::before')

【讨论】:

  • 谢谢@zx485。不幸的是,它不起作用。我在这个页面上试过:aliexpress.com/item/…
  • ::before 不是 text ,而是 CSS pseudo-element。您无法使用 CSS 或 XPath 定位器来定位它!
猜你喜欢
  • 2021-05-21
  • 1970-01-01
  • 2021-06-30
  • 2022-01-05
  • 2023-02-21
  • 2016-05-04
  • 1970-01-01
  • 2022-07-13
  • 2017-10-05
相关资源
最近更新 更多