puppeteer 无法获取隐藏元素,也无法从隐藏元素中获取值

puppeteer cannot get hidden element and also cannnot get the value from hidden element

我未能使用 puppeteer 从隐藏元素中获取值。

    browser = await puppeteer.launch({ headless: false })
    page = await browser.newPage( )
    await page.goto("https://www.google.com")
    element = await page.waitForSelector('input[type="hidden"][name="newwindow"]', {
        hidden: true,
        timeout: 15000,
    })
    data = await  page.$eval('input[name="newwindow"]', ({ value }) => value);

我遇到了以下错误。谁能帮帮我?

Uncaught Error: Error: failed to find element matching selector "input[name="newwindow"]"

您的错误似乎发生在您使用选择器“input[name="newwindow"]”的最后一行。

这意味着上一行确实适用于 input[type="hidden"][name="newwindow"] 并且您的元素在变量 element.

中实例化

然后您可以使用此变量获取文本:

const dataHandle = await element.getProperty("innerText");
const data = dataHandle._remoteObject.value;

如果您不想使用该变量并继续使用 $eval,我相信以这种方式更新最后一行应该可行:

data = await page.$eval('input[type="hidden"][name="newwindow"]', ({ value }) => value);