0

尝试使用 [code] 选择器从链接的 Sales Navigator Search 中获取网络响应(仅元数据)。

在此处输入图像描述

我可以使用绝对路径来获取此元素或文本,$x("/html/body/code[9]")[0].innerHTML 但我希望更通用,以防此路径发生更改,包含文本前“元数据”

还有其他方法吗?

4

1 回答 1

1

尝试做一个最简单的。

const metadatas = await page.evaluate ( () => {

    let metadatas = []

    document.querySelectorAll('body > code[style="display: none"]').forEach(code => {
        if ( code.innerText.search('{"metadata":"') > -1 && code.innerText.search('{"metadata":"') < 10 ) {
            metadatas.push (code.innerText)
        }
    })

    return (metadatas)

})

metadatas.forEach( metadata => console.log ( JSON.parse(metadata) ) )

如果您确定$("code")[8].innerHTML将包含元数据,您可以像这样编写代码。

const metadatas = await page.evaluate ( () => {

    let metadatas = []

    document.querySelectorAll('body > code[style="display: none"]:nth-of-type(9)').forEach(code => {
        metadatas.push (code.innerText)
    })

    return (metadatas)

})

metadatas.forEach( metadata => console.log ( JSON.parse(metadata) ) )
于 2019-12-14T08:59:33.757 回答