以下是使用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
用playwright写一段运行js并获取执行结果的代码兼容asycio

原文地址: https://www.cveoy.top/t/topic/bZdq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录