如何使用XPath选择未包装在HTML标记中的文本内容?

时间:2019-03-08 04:21:02

标签: xpath puppeteer

如何使用XPath和Puppeteer从以下HTML示例中捕获 TARGET

<div id="parent">
    <div id="sibling_1"> Hello </div>
    <div id="sibling_2"> Good </div>
    TARGET
    <div id="sibling_3"> Bye </div>
</div>

我可以使用以下代码获得再见,但我认为没有办法获得 TARGET

let xpath = '//*[@id="sibling_1"]/following-sibling::*';
let elements = await page.$x(xpath);
for(var j in elements){
 let xpathTextContent = await elements[j].getProperty('textContent')
 let text = await xpathTextContent.jsonValue();
 console.log("Text: ",text);
}

2 个答案:

答案 0 :(得分:1)

这是javascript中的解决方案。

document.querySelector('div#parent').innerText

答案 1 :(得分:0)

事实证明 TARGET 属于父元素:

let xpath = '//*[@id="parent"]';
let elements = await page.$x(xpath);
let xpathTextContent = await elements[0].getProperty('textContent')
let text = await xpathTextContent.jsonValue();