簡體   English   中英

Xpath:在 Devtools 中工作,但使用 document.evaluate() 返回空對象

[英]Xpath: Working in Devtools but returns empty object with document.evaluate()

以下命令在 Devtools 控制台中按預期工作(例如,這里 - https://news.ycombinator.com/

$x('//a[@class="storylink"]') (Edge 瀏覽器)

但是下面的代碼:

            const page = await browser.newPage();
            await page.goto("https://news.ycombinator.com/");
            let urls = await page.evaluate(() => {
                var item = document.evaluate(
                    '//a[@class="storylink"]',
                    document,
                    null,
                    XPathResult.FIRST_ORDERED_NODE_TYPE,
                    null
                ).singleNodeValue;
                return item
            })
            browser.close(); 

返回一個空對象: {} 同樣的情況也發生在所有其他網站上。 為什么會這樣?

如果你是Chrome的自動與木偶從Node.js的那么page ,你已經對象公開的方法$x XPath的評價,看到https://pptr.dev/#?product=Puppeteer&version=v10.4.0&show=api-pagexexpression . 這意味着做

let urls = await page.$x('//a[@class="storylink"]')

應該足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM