python - 如何正确地向 Pyppeteer 中的网站发送 POST 请求
问题描述
我正在尝试在 pyppeteer 中编写一个机器人。我试图用我的代码做的是向具有特定 postData 的网站发送 POST 请求
Add_url = f"https://www.website.com/shop/{productID}/add.json"
await page.setExtraHTTPHeaders(headers=headers)
await page.setRequestInterception(True)
page.o
atc_post = await Request.continue_(self,overrides={'url':Add_url, 'method':'POST','postData':data})
print(atc_post.json())
这是我终端的当前输出:
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyppeteer/network_manager.py”,第 447 行,在 continue_
如果不是 self._allowInterception:
AttributeError:“Bot”对象没有属性“_allowInterception”
如果有人可以提供帮助,我将不胜感激。
解决方案
Request.continue_
仅在拦截后有效,例如:
async def intercept (req):
print (req.headers)
await req.continue_ ()
pass
async def main():
browser = await launch()
page = await browser.newPage()
await page.setRequestInterception(True)
page.on ('request', lambda req: asyncio.ensure_future (intercept (req)))
await page.goto('https://www.exemple.com')
await browser.close()
return html
html=asyncio.get_event_loop().run_until_complete(main())
推荐阅读
- android - 如何修复/转移 Android R 的 TextInputEditText 的移位行为
- docker - 我们如何为 Docker Hub 中的 docker 镜像名称实现自动完成?
- html - 使图像响应
- python - Django Rest 框架:创建 API
- javascript - 在 Angular 中出现 Dom 元素时监听
- html - 为可访问性而开发,有人告诉我
- “列表项没有
- ,
- 或 role="list" 父元素"
- “列表项没有
- facebook - Facebook bot 不断发送垃圾邮件
- java - 在画布上重绘的问题
- php - 使用 Ajax 获取 Wordpress 帖子数据
- sql - MySQL在标签中查找变量内容并删除