强烈推荐:微软开源浏览器自动化工具!
这是我目前见过的最好的自动化工具项目。功能完整,代码结构清晰。值得推荐。
你们平常用的浏览器自动化工具是什么?比较出名的是 Selenium,用过的大家应该知道。另外还有一个比较出名的是 PhantomJS,针对的是无界面的浏览器。这类工具能够通过代码的形式,控制浏览器自动完成一系列操作,不过是用来做爬虫或者是自动化的测试,都非常的方便。
今天要推荐一个类似的工具,Playwright for Python,它是由微软开源的,毕竟大厂出品,我们一起来看看它有什么神奇的地方。
首先 Playwright 支持以下类型的浏览器,主流的基本都覆盖了。

Playwright 使用上非常简单,而且代码也很简洁,目前支持同步和异步调用两种方式。
同步方式:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = browser_type.launch()
page = browser.new_page()
page.goto('What's my User Agent?')
page.screenshot(path=f'example-{browser_type.name}.png')
browser.close()
异步方式:
import asyncio
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = await browser_type.launch()
page = await browser.new_page()
await page.goto('http://whatsmyuseragent.org/')
await page.screenshot(path=f'example-{browser_type.name}.png')
await browser.close()
asyncio.run(main())
最后介绍一下 Playwright 最牛逼的一个功能,它能够自动根据你在浏览器上的操作生成对应的代码,简直不要太好用。以下是一个示例:
大厂出品就是不一样,从我整体的使用来看,Playwright 使用上要比 Selenium 和 PhantomJS 更简单的多,下次工作可以考虑使用 Playwright 了。

目前,playwright-python985k430
已经在Github上标星5K,累计分支 430 个。
Github地址:https://github.com/microsoft/pl