diff --git a/src/Locator/Locator.php b/src/Locator/Locator.php index 13072ff..55df3be 100644 --- a/src/Locator/Locator.php +++ b/src/Locator/Locator.php @@ -272,7 +272,7 @@ public function locator(string $selector): self $newSelectorChain = clone $this->selectorChain; $newSelectorChain->append($selector); - return new Locator($this->transport, $this->pageId, $newSelectorChain, $this->frameSelector); + return new Locator($this->transport, $this->pageId, $newSelectorChain, $this->frameSelector, $this->logger); } /** @@ -657,6 +657,7 @@ private function waitForCondition(callable $condition, int $timeoutMs, string $m return; } } catch (PlaywrightException $e) { + $this->logger->error($e->getMessage()); } usleep(100000); diff --git a/src/Page/Page.php b/src/Page/Page.php index da74311..8461114 100644 --- a/src/Page/Page.php +++ b/src/Page/Page.php @@ -78,6 +78,8 @@ final class Page implements PageInterface, EventDispatcherInterface private PageEventHandlerInterface $eventHandler; + private LoggerInterface $logger; + private ?APIRequestContextInterface $apiRequestContext = null; private bool $isClosed = false; @@ -92,8 +94,10 @@ public function __construct( private readonly BrowserContextInterface $context, private readonly string $pageId, private readonly PlaywrightConfig $config, - private readonly LoggerInterface $logger = new NullLogger(), + ?LoggerInterface $logger = null, ) { + $this->logger = $logger ?? $config->logger ?? new NullLogger(); + $this->keyboard = new Keyboard($this->transport, $this->pageId); $this->mouse = new Mouse($this->transport, $this->pageId); $this->eventHandler = new PageEventHandler(); @@ -204,7 +208,7 @@ public function locator(string $selector, array|LocatorOptions $options = []): L $this->pageId, $selector, null, - null, + $this->logger, $this->normalizeLocatorOptions($options) ); }