这个项目能做什么

该软件包为 Chrome DevTools 协议提供了一个 PHP 客户端,该协议用于以编程方式控制 Chrome/Chromium 浏览器。它通过 Composer 分发,包名为 jakubkulhan/chrome-devtools-protocol,并采用 MIT 许可证。 README 中体现的核心能力: - 通过 Launcher 类启动 Chrome 进程,并使用 Context 对象设置操作截止时间(例如 30 秒超时)。 - 在已启动的实例上打开并激活标签页,然后获取该标签页的 DevTools 客户端。 - 驱动页面操作,例如启用 Page 域、导航到某个 URL,以及等待 load 事件。 - 从页面生成输出,包括打印为 PDF,以及以可配置的格式和质量捕获截图。 - 显式管理生命周期:必须关闭 DevTools 客户端,并在完成后终止浏览器进程。 隔离浏览器上下文: 该库支持无头 Chrome 浏览器上下文,被描述为类似于隐身窗口,其中 cookie 和本地存储不会共享。与隐身窗口不同,可以同时存在多个隔离浏览器上下文。以这种方式创建的会话实现了与标签页的 devtools() 方法返回的相同 DevtoolsClientInterface。 连接到现有浏览器: 可以直接从主机和端口(例如 localhost:9222)构造 Instance,从而允许客户端附加到已经运行的 Chrome 浏览器。在此模式下不会启动新进程,因此不需要关闭该实例。 README 展示了 PHP 使用示例,涵盖上下文创建、启动、标签页处理、DevTools 调用和清理。构建状态、稳定版本和许可证徽章分别链接到 CircleCI、Packagist 和许可证文件。