使用puppeteer进行模拟访问时,浏览器、页面卡住不动的问题

测试URL:https://www.ly.com/HotelInfo-94010082.html?spm0=10002.2001.1.0.2.2.1
遇到的问题:
使用puppeteer打开个别网站的网页时,会遇到卡住,一直无法结束的问题。
如图:
使用puppeteer进行模拟访问时,浏览器、页面卡住不动的问题_第1张图片
可以看到浏览器上方tag一直在转圈圈。
原因是,在代码中设置了Page的JS执行解析,在这个页面中含有"debugger"调试信息,不懂前端开发人员,为什么上正式环境了,这些调试代码,不去掉的吗?
打开F12,输入网址,会自动进入debugger模式,暂停住。
使用puppeteer进行模拟访问时,浏览器、页面卡住不动的问题_第2张图片并且在代码中写了以下代码,puppeteer中解析并执行了,然后就暂停了。

		await Promise.all([
            page.coverage.startJSCoverage(),
            page.coverage.startCSSCoverage()
        ]);

但是考虑到大部分网站是需要这些动态JS执行的,把这段代码去掉有点不妥当,就使用以下代码,针对个别网站,禁止JS调用。

    if (request_url.includes('www.ly.com')) {
        await page.setJavaScriptEnabled(false);
    }

需要的静态的页面,就没问题了。

你可能感兴趣的:(javascript,puppeteer)