diff --git a/src/Downloader/Middleware/ExecuteJavascriptMiddleware.php b/src/Downloader/Middleware/ExecuteJavascriptMiddleware.php index 6e1495a..01f514e 100644 --- a/src/Downloader/Middleware/ExecuteJavascriptMiddleware.php +++ b/src/Downloader/Middleware/ExecuteJavascriptMiddleware.php @@ -34,7 +34,8 @@ public function __construct( private LoggerInterface $logger, ?callable $getBrowsershot = null, ) { - $this->getBrowsershot = $getBrowsershot ?? static fn (string $uri): Browsershot => Browsershot::url($uri)->waitUntilNetworkIdle(); + /** @psalm-suppress MixedInferredReturnType, MixedReturnStatement */ + $this->getBrowsershot = $getBrowsershot ?? static fn (string $uri): Browsershot => Browsershot::url($uri); } public function handleResponse(Response $response): Response @@ -64,6 +65,10 @@ private function configureBrowsershot(string $uri): Browsershot { $browsershot = ($this->getBrowsershot)($uri); + if (null !== ($waitUntilNetworkIdle = $this->option('waitUntilNetworkIdle'))) { + $browsershot->waitUntilNetworkIdle($waitUntilNetworkIdle); + } + if (!empty($this->option('chromiumArguments'))) { /** @phpstan-ignore argument.type */ $browsershot->addChromiumArguments($this->option('chromiumArguments')); @@ -115,6 +120,7 @@ private function configureBrowsershot(string $uri): Browsershot private function defaultOptions(): array { return [ + 'waitUntilNetworkIdle' => true, 'chromiumArguments' => [], 'chromePath' => null, 'binPath' => null,