gpt4 book ai didi

puppeteer - 如何在离开当前页面之前拦截 Puppeteer 中的请求?

转载 作者:行者123 更新时间:2023-12-03 06:42:14 30 4
gpt4 key购买 nike

用例:

我们需要捕获页面中的所有出站路由。其中一些可能无法使用链接元素 <a src="..."> 来实现但通过一些 javascript 代码或 GET/POST表格。

PhantomJS:

在 Phantom 中,我们使用 onNavigationRequested 来完成此操作打回来。我们只需单击某个选择器定义的所有元素并使用 onNavigationRequested在表单中捕获目标 url 和可能的方法或 POST 数据,然后取消该导航事件。

puppeteer 师:

我尝试了请求拦截,但此时请求被拦截,当前页面已经丢失,所以我必须返回。

<小时/>

有没有办法在浏览器仍在触发事件的页面时捕获导航事件并停止它?

谢谢。

最佳答案

您可以执行以下操作。

await page.setRequestInterception(true);
page.on('request', request => {
if (request.resourceType() === 'image')
request.abort();
else
request.continue();
});

示例如下:

https://github.com/GoogleChrome/puppeteer/blob/master/examples/block-images.js

此处列出了可用的资源类型:

https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#requestresourcetype

关于puppeteer - 如何在离开当前页面之前拦截 Puppeteer 中的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47070433/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com