From 7c8aacf9fd43758608268520357ae6ea4ef0ea51 Mon Sep 17 00:00:00 2001 From: Brandon Checketts Date: Tue, 2 Nov 2021 18:24:19 +0000 Subject: [PATCH 1/2] Throw exception instead of potential fatal error --- lib/Remote/RemoteWebDriver.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/Remote/RemoteWebDriver.php b/lib/Remote/RemoteWebDriver.php index 9bc3c7a89..f60d91eef 100644 --- a/lib/Remote/RemoteWebDriver.php +++ b/lib/Remote/RemoteWebDriver.php @@ -13,6 +13,7 @@ use Facebook\WebDriver\WebDriverNavigation; use Facebook\WebDriver\WebDriverOptions; use Facebook\WebDriver\WebDriverWait; +use Facebook\WebDriver\Exception\NoSuchElementException; class RemoteWebDriver implements WebDriver, JavaScriptExecutor, WebDriverHasInputDevices { @@ -208,6 +209,10 @@ public function findElement(WebDriverBy $by) JsonWireCompat::getUsing($by, $this->isW3cCompliant) ); + if (empty($raw_element)) { + throw new Facebook\WebDriver\Exception\NoSuchElementException(); + } + return $this->newElement(JsonWireCompat::getElement($raw_element)); } From 45a7dee166d5516e10504bb4d2d9e2a0cde52320 Mon Sep 17 00:00:00 2001 From: Brandon Checketts Date: Tue, 2 Nov 2021 18:37:25 +0000 Subject: [PATCH 2/2] Fixing phpstan error --- lib/Remote/RemoteWebDriver.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Remote/RemoteWebDriver.php b/lib/Remote/RemoteWebDriver.php index f60d91eef..5db51c9af 100644 --- a/lib/Remote/RemoteWebDriver.php +++ b/lib/Remote/RemoteWebDriver.php @@ -2,6 +2,7 @@ namespace Facebook\WebDriver\Remote; +use Facebook\WebDriver\Exception\NoSuchElementException; use Facebook\WebDriver\Interactions\WebDriverActions; use Facebook\WebDriver\JavaScriptExecutor; use Facebook\WebDriver\WebDriver; @@ -13,7 +14,6 @@ use Facebook\WebDriver\WebDriverNavigation; use Facebook\WebDriver\WebDriverOptions; use Facebook\WebDriver\WebDriverWait; -use Facebook\WebDriver\Exception\NoSuchElementException; class RemoteWebDriver implements WebDriver, JavaScriptExecutor, WebDriverHasInputDevices { @@ -210,7 +210,7 @@ public function findElement(WebDriverBy $by) ); if (empty($raw_element)) { - throw new Facebook\WebDriver\Exception\NoSuchElementException(); + throw new NoSuchElementException('findElement failed to get a $raw_element'); } return $this->newElement(JsonWireCompat::getElement($raw_element));