【问题标题】:How to bypaas CSP or ctrl+f5 in Puppeteer如何在 Puppeteer 中绕过 CSP 或 ctrl+f5
【发布时间】:2020-05-06 04:17:42
【问题描述】:

我正在尝试加载一个正在加载跨域 iframe(recaptcha)的页面

有时由于随机原因,页面会出现 CSP 错误 唯一有助于删除它的是手动 CTRl+f5 我尝试了各种使用 chrome dev api 删除缓存的方法,并使用

重新加载
page.reload()

页面评估

没有成功(似乎页面一直在加载缓存/没有向它发出新请求)

我也尝试过设置 await bypassCSP(true) 也无济于事

谁能推荐其他的试试?

我用 F5+Ctrl 试过的代码没有用:

async function main() {
    const puppeteer = require('puppeteer');
    let browser2 = await puppeteer.launch({headless: false});
    let page2 = await browser2.newPage();
    await page2.goto("http://google.com/");
    await page2.keyboard.down('Control');
    await page2.keyboard.press('F5');
    await page2.keyboard.up('Control');
}

【问题讨论】:

    标签: javascript node.js puppeteer


    【解决方案1】:

    你能用键盘吗?

        await page.goto("https://www.google.com/", {
            waitUntil: 'networkidle2'
        });
    
        await page.waitFor(3000);
    
        await page.setCacheEnabled(false);
        await page.reload({waitUntil: 'networkidle2'});
    
    

    问候

    【讨论】:

    • 我试过了,但它似乎不起作用,我做了一些研究,似乎 chrome 快捷方式不起作用:( 如果我错了请告诉我
    • 我只是在我身边尝试过,它奏效了。你能分享更多代码吗?
    • 很抱歉,即使使用最简单的代码,我也无法正常工作,刚刚更新了问题
    • 它在我这边使用这些代码 await page.waitForSelector("[name='login[username]"); await page.type("[name='login[username]']", "talenttop044@gmail.com"); await page.waitForSelector("[name='login[password]"); await page.type("[name='login[password]']", "D&6^XM#8
    • 它在哪个 url 上起作用?无法在谷歌上运行(因为没有登录 [密码] 并且两者都用于 twitter 登录页面
    猜你喜欢
    • 1970-01-01
    • 2019-03-30
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    相关资源
    最近更新 更多