3

我正在使用 puppeteer 来衡量页面的性能及其功能(这仍处于初始阶段,因为我才刚刚开始)。这是我正在使用的示例:

const puppeteer = require('puppeteer');
(async () => {

    const browser = await puppeteer.launch({headless: false});
    const page = await browser.newPage();
    await page._client.send('Performance.enable');
    await page.goto('https://xxxx.com');
    await page.focus("#formulario input#username");
    await page.type("test2222@gmail.com", {delay: 200});
    await page.focus("#formulario input#inputPassword3");
    await page.type("pass", {delay: 200});
    const loginForm = await page.$("#formulario");
    await loginForm.evaluate(loginForm => loginForm.submit());
    loginForm._client.send('Performance.getMetrics');
    //BELOW DOESN'T WORK BECAUSE THE PAGE IS GONE
    await page.click("span.show-filters");

    await browser.close();
})();

表单提交后如何访问新加载的页面?我的意思是用户已经登录,我们如何才能获得新加载页面的句柄?

4

1 回答 1

5

我已经通过等待页面首先加载它来工作。然后我能够单击正确的元素。

所以我添加了以下行:

await page.waitForNavigation();

在此之前:

await page.click(".show-filters");

我必须说该工具的文档相当稀缺:(

于 2017-09-18T13:10:06.210 回答