Xpath 在使用属性选择器后提取文本

Xpath extract text after using attribute selectors

我想使用 Xpath 代码从 HTML 文件中提取一些文本。我在 Chrome 控制台中获取了提取的文本:

1) TEXT=$x('//*[@id="olpOfferListColumn"]')

2) TEXT[0].innerText

但是现在,我想将这两个命令与 XPath 合二为一。 我当然试过像这样的工作人员:

TEXT=$x('//*[@id="olpOfferListColumn"]/text()') 

TEXT=$x('//*[@id="olpOfferListColumn"]/::text()') 
  1. //*[@id="olpOfferListColumn"]/text() 表示 return 您 子文本节点 。但是#olpOfferListColumn元素没有子文本节点,但是后代文本节点(获取所有后代文本节点 你可能需要使用 //*[@id="olpOfferListColumn"]//text())

  2. //*[@id="olpOfferListColumn"]/::text() - 无效的 XPath

尝试

string(//*[@id="olpOfferListColumn"])

获取 #olpOfferListColumn

的所有文本内容(innerText 属性 的模拟)

要提取特定 id 元素的文本,

xpath = '//*[@id="olpOfferListColumn"]/text()'

它将获取带有id=olpOfferListCloumn

的元素的文本

如果您想要特定元素中的每个文本节点

使用:

xpath = '//*[@id="olpOfferListColumn"]//text()'