在从 AsyncHTMLSession 收到的响应的 html 上使用 render() 时出错



代码:(错误在行结果[0].html.render(((渲染工作时,以前我没有使用AsyncHTMLSession,但使用了HTMLSession。

from requests_html import AsyncHTMLSession
link="https://www.daraz.com.np/catalog/?q={}"
asession = AsyncHTMLSession()
async def get_daraz():
r = await asession.get(link.format("mouse"))
return r
results = asession.run(get_daraz)

results[0].html.render()

错误堆栈:

Traceback (most recent call last):
File "C:/Users/ZinonYT/PycharmProjects/testTags/tags.py", line 11, in <module>
results[0].html.render()
File "C:UsersZinonYTPycharmProjectstestTagsvenvlibsite-packagesrequests_html.py", line 598, in render
content, result, page = self.session.loop.run_until_complete(self._async_render(url=self.url, script=script, sleep=sleep, wait=wait, content=self.html, reload=reload, scrolldown=scrolldown, timeout=timeout, keep_page=keep_page))
File "C:UsersZinonYTAppDataLocalProgramsPythonPython37libasynciobase_events.py", line 584, in run_until_complete
return future.result()
File "C:UsersZinonYTPycharmProjectstestTagsvenvlibsite-packagesrequests_html.py", line 505, in _async_render
page = await self.browser.newPage()
AttributeError: 'coroutine' object has no attribute 'newPage'
sys:1: RuntimeWarning: coroutine 'BaseSession.browser' was never awaited

results[0].html.render(( 而不是这样做

await r.html.arender()

但是在异步函数中,因为 await 只允许在异步函数内部。

最新更新