我想仅使用Xpath代码从HTML文件中提取一些文本。我在Chrome控制台中通过以下方式提取了文本:
1)TEXT=$x('//*[@id="olpOfferListColumn"]')
2)TEXT[0].innerText
但是现在,我只想将这两个命令与XPath结合在一起。 我当然试过像这样的工作人员:
TEXT=$x('//*[@id="olpOfferListColumn"]/text()')
或
TEXT=$x('//*[@id="olpOfferListColumn"]/::text()')
答案 0 :(得分:1)
//*[@id="olpOfferListColumn"]/text()
表示要返回子文本节点。但是#olpOfferListColumn
元素没有子文本节点,但是有后代文本节点(要获取所有后代文本节点,您可能需要使用//*[@id="olpOfferListColumn"]//text()
)
//*[@id="olpOfferListColumn"]/::text()
-无效的XPath
尝试
string(//*[@id="olpOfferListColumn"])
获取#olpOfferListColumn
的所有文本内容(innerText属性的类似物)
答案 1 :(得分:0)
要提取特定id
元素的文本,
xpath = '//*[@id="olpOfferListColumn"]/text()'
它将使用id=olpOfferListCloumn
如果您希望每个文本节点都位于特定元素中
使用:
xpath = '//*[@id="olpOfferListColumn"]//text()'