剧作家禁用网页缓存,以便我可以在向下滚动后获取新元素

Cur*_*101 3 javascript web-scraping puppeteer playwright

我正在使用 playwright(Firefox 浏览器)来抓取一些网站。当我向下滚动页面时,许多网站会加载更多内容。问题在于, await page.$$("")方法没有获取加载的新内容。

但是如果我在滚动后在控制台上执行document.querySelectorAll(""),那么我也可以获得更新的内容。

我看到 puppeteer 有一个设置page.setCacheEnabled(enabled)允许禁用缓存,但我在 playwright 中找不到类似的东西。

小智 5

你说得很对,没有像setCacheEnabled剧作家那样的方法。一种解决方法是为所有请求设置一条路由:

page.route('**', route => route.continue());
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到:

启用路由会禁用 http 缓存。

这应该完成同样的事情。