在 puppeteer 中发送 POST 请求

Art*_* Xu 3 javascript node.js puppeteer

我正在使用 JS+Puppeteer,我正在尝试制作一个可以将商品添加到购物车的脚本。该网站经常会因流量大而崩溃,因此我希望脚本不依赖点击,而是将项目信息直接发送到后端。一旦它这样做了,它就会继续做事情。添加到购物车链接与网站链接不同。

例如,网站是abc.shop,后端API地址是abc.shop/api/... 我想发送一个延续商品数据的JSON到api地址。

是否可以使用 puppeteer 向其他地址发送 POST 请求,如果可以,如何发送?

Sha*_*jib 10

您可以page.evaluate使用 fetch api 发送 post 请求。

await page.evaluate(() => {
  return fetch('url', {method: 'POST', body: 'test' }).then(res => res.json());
});
Run Code Online (Sandbox Code Playgroud)

https://pptr.dev/#?product=Puppeteer&version=v3.3.0&show=api-pageevaluatepagefunction-args