fyrts / chrome-devtools-protocol
Chrome Devtools Protocol PHP客户端
1.1.247
2024-09-25 03:07 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- chrome-php/wrench: ^1.3
- guzzlehttp/guzzle: ^6.3|^7.0
- symfony/filesystem: >=5.3
- symfony/process: >=4.4.30
Requires (Dev)
- nette/php-generator: ~2.1|~3.0
- php-parallel-lint/php-parallel-lint: ^1.2
- phpstan/phpstan: ^1.4.3
- phpunit/phpunit: ^9.0
- dev-master
- 1.1.247
- 1.1.246
- 1.1.245
- 1.1.244
- 1.1.243
- 1.1.242
- 1.1.241
- 1.1.240
- 1.1.239
- 1.1.238
- 1.1.237
- 1.1.236
- 1.1.235
- 1.1.234
- 1.1.233
- 1.1.232
- 1.1.231
- 1.1.230
- 1.1.229
- 1.1.228
- 1.1.227
- 1.1.226
- 1.1.225
- 1.1.224
- 1.1.223
- 1.1.222
- 1.1.221
- 1.1.220
- 1.1.219
- 1.1.218
- 1.1.217
- 1.1.216
- 1.1.215
- 1.1.214
- 1.1.213
- 1.1.212
- 1.1.211
- 1.1.210
- 1.1.209
- 1.1.208
- 1.1.207
- 1.1.206
- 1.1.205
- 1.1.204
- 1.1.203
- 1.1.202
- 1.1.201
- 1.1.200
- 1.1.199
- 1.1.198
- 1.1.197
- 1.1.196
- 1.1.195
- 1.1.194
- 1.1.193
- 1.1.192
- 1.1.191
- 1.1.190
- 1.1.189
- 1.1.188
- 1.1.187
- 1.1.186
- 1.1.185
- 1.1.184
- 1.1.183
- 1.1.182
- 1.1.181
- 1.1.180
- 1.1.179
- 1.1.178
- 1.1.177
- 1.1.176
- 1.1.175
- 1.1.174
- 1.1.173
- 1.1.172
- 1.1.171
- 1.1.170
- 1.1.169
- 1.1.168
- 1.1.167
- 1.1.166
- 1.1.165
- 1.1.164
- 1.1.163
- 1.1.162
- 1.1.161
- 1.1.160
- 1.1.159
- 1.1.158
- 1.1.157
- 1.1.156
- 1.1.155
- 1.1.154
- 1.1.153
- 1.1.152
- 1.1.151
- 1.1.150
- 1.1.149
- 1.1.148
- 1.1.147
- 1.1.146
- 1.1.145
- 1.1.144
- 1.1.143
- 1.1.142
- 1.1.141
- 1.1.140
- 1.1.139
- 1.1.138
- 1.1.137
- 1.1.136
- 1.1.135
- 1.1.134
- 1.1.133
- 1.1.132
- 1.1.131
- 1.1.130
- 1.1.129
- 1.1.128
- 1.1.127
- 1.1.126
- 1.1.125
- 1.1.124
- 1.1.123
- 1.1.122
- 1.1.121
- 1.1.120
- 1.1.119
- 1.1.118
- 1.1.117
- 1.1.116
- 1.1.115
- 1.1.114
- 1.1.113
- 1.1.112
- 1.1.111
- 1.1.110
- 1.1.109
- 1.1.108
- 1.1.107
- 1.1.106
- 1.1.105
- 1.1.104
- 1.1.103
- 1.1.102
- 1.1.101
- 1.1.100
- 1.1.99
- 1.1.98
- 1.1.97
- 1.1.96
- 1.1.95
- 1.1.94
- 1.1.93
- 1.1.92
- 1.1.91
- 1.1.90
- 1.1.89
- 1.1.88
- 1.1.87
- 1.1.86
- 1.1.85
- 1.1.84
- 1.1.83
- 1.1.82
- 1.1.81
- 1.1.80
- 1.1.79
- 1.1.78
- 1.1.77
- 1.1.76
- 1.1.75
- 1.1.74
- 1.1.73
- 1.1.72
- 1.1.71
- 1.1.70
- 1.1.69
- 1.1.68
- 1.1.67
- 1.1.66
- 1.1.65
- 1.1.64
- 1.1.63
- 1.1.62
- 1.1.61
- 1.1.60
- 1.1.59
- 1.1.58
- 1.1.57
- 1.1.56
- 1.1.55
- 1.1.54
- 1.1.53
- 1.1.52
- 1.1.51
- 1.1.50
- 1.1.49
- 1.1.48
- 1.1.47
- 1.1.46
- 1.1.45
- 1.1.44
- 1.1.43
- 1.1.42
- 1.1.41
- 1.1.40
- 1.1.39
- 1.1.38
- 1.1.37
- 1.1.36
- 1.1.35
- 1.1.34
- 1.1.33
- 1.1.32
- 1.1.31
- 1.1.30
- 1.1.29
- 1.1.28
- 1.1.27
- 1.1.26
- 1.1.25
- 1.1.24
- 1.1.23
- 1.1.22
- 1.1.21
- 1.1.20
- 1.1.19
- 1.1.18
- 1.1.17
- 1.1.16
- 1.1.15
- 1.1.14
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.5
This package is auto-updated.
Last update: 2024-09-25 03:08:13 UTC
README
PHP客户端,用于Chrome Devtools Protocol。
安装
composer require fyrts/chrome-devtools-protocol
基本用法
// context creates deadline for operations $ctx = Context::withTimeout(Context::background(), 30 /* seconds */); // launcher starts chrome process ($instance) $launcher = new Launcher(); $instance = $launcher->launch($ctx); try { // work with new tab $tab = $instance->open($ctx); $tab->activate($ctx); $devtools = $tab->devtools(); try { $devtools->page()->enable($ctx); $devtools->page()->navigate($ctx, NavigateRequest::builder()->setUrl("https://www.google.com/")->build()); $devtools->page()->awaitLoadEventFired($ctx); // ... work with page ... // e.g. // - print to PDF: $devtools->page()->printToPDF($ctx, PrintToPDFRequest::make()); // - capture screenshot: $devtools->page()->captureScreenshot($ctx, CaptureScreenshotRequest::builder()->setFormat("jpg")->setQuality(95)->build()); } finally { // devtools client needs to be closed $devtools->close(); } } finally { // process needs to be killed $instance->close(); }
无头Chrome的独立上下文
无头Chrome支持一个名为browser contexts的功能——它们类似于隐身窗口——cookie、本地存储等不被共享。在browser context被销毁后,在该上下文中创建的用户数据也会被销毁。
与隐身窗口不同,可以同时存在多个隔离的browser contexts。
$ctx = Context::withTimeout(Context::background(), 10); $launcher = new Launcher(); $instance = $launcher->launch($ctx); try { $session = $instance->createSession($ctx); try { // $session implements DevtoolsClientInterface, same as returned from Tab::devtools() } finally { $session->close(); } } finally { $instance->close(); }
许可证
在MIT许可证下授权。见LICENSE
文件。