From d1f1b6fa39e161b4fa6753f6e5bcf3795f741300 Mon Sep 17 00:00:00 2001 From: Sebastian Meyer Date: Wed, 14 Jun 2023 14:57:08 +0200 Subject: [PATCH] [py] Fix BrowserError issues (#12150) * [py] Fix KeyError on BrowserError * [py] Fix TypeError on BrowserError --------- Co-authored-by: Diego Molina --- py/selenium/webdriver/common/bidi/cdp.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/py/selenium/webdriver/common/bidi/cdp.py b/py/selenium/webdriver/common/bidi/cdp.py index 7ad5b0c622e248..f7e18c0896cc9d 100644 --- a/py/selenium/webdriver/common/bidi/cdp.py +++ b/py/selenium/webdriver/common/bidi/cdp.py @@ -147,8 +147,8 @@ class BrowserError(Exception): indicates that an error occurred.""" def __init__(self, obj): - self.code = obj["code"] - self.message = obj["message"] + self.code = obj.get("code") + self.message = obj.get("message") self.detail = obj.get("data") def __str__(self): @@ -442,7 +442,13 @@ async def _reader_task(self): try: session = self.sessions[session_id] except KeyError: - raise BrowserError(f"Browser sent a message for an invalid session: {session_id!r}") + raise BrowserError( + { + "code": -32700, + "message": "Browser sent a message for an invalid session", + "data": f"{session_id!r}", + } + ) session._handle_data(data) else: self._handle_data(data)