如何阻止木偶操纵者重定向

时间:2017-10-23 10:11:16

标签: chromium puppeteer

目前似乎puppeteer的默认行为是遵循重定向并在链的末尾返回DOM。

如何在第一次重定向发生后让.goto()方法停止,当我调用page.content()方法时,只需从第一个3xx页面返回html?

2 个答案:

答案 0 :(得分:2)

如果标识了一系列请求,则可以启用请求拦截并中止其他请求:

await page.setRequestInterception( true );

page.on( 'request', request =>
{
    if ( request.isNavigationRequest() && request.redirectChain().length !== 0 )
    {
        request.abort();
    }

    else
    {
        request.continue();
    }
});

await page.goto( 'https://www.example.com/' );

答案 1 :(得分:1)

似乎在写作的那一刻,这是不可能的(至少不是Puppeteer提供的高级API)。查看goto here的文档。