Python Playwright 同步与异步 API 之间有何区别?

What are the differences between Python Playwright sync vs. async APIs?

我已经开始学习 playwright-python 并且包 playwright 有两个子模块 async_apisync_api。但是,我找不到关于它们各自优缺点的任何更深入的描述或讨论。根据他们的名字,我假设同步 API 调用是阻塞的,而异步调用 运行 在后台?

它们的功能是否不同,即在某些情况下 sync_api 无法完成您可以使用 async_api 完成的事情(反之亦然)?

sync_api 只是 asyncio_api 的包装器,它从您那里抽象出 asyncio 用法。因此,功能在很大程度上是相同的,但是 async_api 可能 在复杂的场景中提供更多的灵活性(例如,在以前的 playwright-python 中发布了在 Unix + Python 3.7 上以多线程方式 运行 实例的唯一方法是使用 async_api ,原因我不会在这里进入)。

虽然您可能不需要这种灵活性,所以我只是建议您使用您喜欢的任何东西。