ericdraken / chrome-php
通过 PHP 实现并行无头 Chrome 交互
0.4.0
2017-10-13 19:33 UTC
Requires
- php: ^7.0
- eloquent/composer-npm-bridge: ^4
- guzzlehttp/promises: ^1.0
- mouf/nodejs-installer: ^1.0
- psr/log: ^1.0
- symfony/process: ^3.1
Requires (Dev)
- monolog/monolog: ^1.23
- phpunit/phpunit: ^6.3
This package is not auto-updated.
Last update: 2024-09-21 17:19:20 UTC
README
通过 PHP 实现并行无头 Chrome 操作
这个库允许您同时控制多个无头 Chrome 浏览器,以更快地处理操作队列。
PHP 启动并管理无头 Chrome 浏览器,包括重新启动已终止的浏览器,然后运行 NodeJS 进程以与这些 Chrome 实例交互,并为每个进程返回承诺。
最常见用例包括
- 抓取网站以查找 404 错误、JavaScript 错误和 HTML 标签不匹配
- 批量检查页面加载时间
- 捕获详细的 HAR 快照
- 批量截图
- 任何自动化的 UI 测试
解决方案
- 带有可选来源的 HAR 捕获 -
HarProcess
- 模拟设备截图(甚至超过 16,384px 的全页)-
ScreenshotProcess
- 包含所有 JS 错误的页面信息 -
PageInfoProcess
- 任何自定义的 Chrome 交互 -
NodeProcess
示例
查看 /examples
文件夹以获取示例和详细注释。
安装
运行 composer update
将安装 composer 包,如果尚未安装,则安装 NodeJS 和 NPM,并安装所需的 NodeJS 包。NodeJS 的操作应该是完全透明的。
.npmrc
此文件包含项目 NPM 覆盖。默认情况下,已设置相当于 “--no-bin-links”,因为 NTFS 共享文件夹无法使用自动符号链接。