我正在使用pupeteer在nodeJS上使用无头chrome。
我正在浏览本地网站并抓取内容,阅读所有锚定网址并将其内容保存在文件中。
$(window).on("beforeunload", function() {
//AJAX call
};
另一方面,在我的本地网站上,对于每个页面,我正在执行AJAX调用
DOMContentLoaded
我发现如果我从浏览器浏览我的网站,那么当我离开每个页面时,就会执行此AJAX调用。 但是当我通过上面的NodeJS代码从无头浏览器浏览我的网站时,AJAX调用没有被调用
为了验证,我将AJAX调用放在onBeforeUnload
事件中,并且它是从无头浏览器调用的。所以问题在于{{1}}
可能在我的nodeJS代码中,我不是关闭每个页面,因此事件没有被调用。
我想知道我可以将事件更改为在无头浏览器和普通浏览器的页面上调用AJAX的最后一件事吗?
谢谢
答案 0 :(得分:0)
自pptr v1.4.0起,您可以将runBeforeUnload
选项传递给page.close
方法:
await page.close({runBeforeUnload: true});