我使用以下代码发送GET请求:
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.example.com/search');
const data = await page.content();
browser.close();
res.send(data);
})();
如何发送POST请求?
4条答案
按热度按时间hl0ma9xz1#
正确的“顺序”可能是一个挑战,文档中没有那么多的例子......在存储库的example文件夹中有一些有趣的项目,你一定要看一看。
https://github.com/GoogleChrome/puppeteer/tree/main/examples
这是一个例子将以下内容放入异步块中:
4urapxun2#
setRequestInterception
和'request'
事件的工作方式有一个怪癖。一旦激活,Puppeteer将发送POST数据到页面上的每个资源,而不仅仅是最初请求的页面。我遇到了一个问题,即一旦我在Puppeteer中添加POST数据,所有页面资源(脚本、CSS)都无法加载。由于我只想将POST数据应用于第一个请求,所以下面的代码对我很有效:
bxpogfeg3#
下面是Puppeteer 2.0.0的完整示例:
请注意,如果选中
response.request().method()
,它将不会更新(仍然是GET)1mrurvl14#
您可以使用Page.evaluate() method在浏览器中运行Fetch API。例如: