用playwright写一段运行js并获取执行结果的代码兼容asycio
以下是使用playwright执行js并获取执行结果的代码,兼容asyncio:
import asyncio
from playwright.async_api import async_playwright
async def execute_js(script):
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page()
try:
result = await page.evaluate(script)
return result
finally:
await browser.close()
async def main():
script = "(() => { return 1 + 1; })()"
result = await execute_js(script)
print(result)
asyncio.get_event_loop().run_until_complete(main())
在上面的代码中,我们首先定义了一个名为execute_js的异步函数,该函数接收一个JS脚本作为参数,并返回JS脚本的执行结果。在函数内部,我们使用playwright启动了一个Chromium浏览器实例,并创建了一个新的页面对象。然后,我们使用页面对象的evaluate方法来执行JS脚本,并将结果返回。最后,我们关闭了浏览器实例并返回结果。
在main函数中,我们定义了一个JS脚本并调用了execute_js函数来执行它。我们将结果打印到控制台上。
要运行此代码,您需要首先安装playwright库。可以使用以下命令来安装它:
pip install playwright
原文地址: https://www.cveoy.top/t/topic/bZdq 著作权归作者所有。请勿转载和采集!