Description
in selenium <= 4.38.0, WebDriver.__enter__ did not have a return type annotation.
so type checker with return type inference (e.g. pyright) were able to infer drv in the code below as selenium.webdriver.chrome.webdriver.WebDriver.
|
def __enter__(self): |
|
return self |
however in 4.39.0, type hint that says the return type is selenium.webdriver.remote.webdriver.WebDriver was added.
as a result, some browser specific method (e.g. get_log) started causing type errors.
|
def __enter__(self) -> "WebDriver": |
|
return self |
Reproducible Code
from typing import reveal_type
from selenium.webdriver.chrome.webdriver import WebDriver
reveal_type(WebDriver().get_log)
with WebDriver() as drv:
reveal_type(drv.get_log)
鈩癸笍 Last known working version: 4.38.0
Description
in selenium <= 4.38.0,
WebDriver.__enter__did not have a return type annotation.so type checker with return type inference (e.g. pyright) were able to infer
drvin the code below asselenium.webdriver.chrome.webdriver.WebDriver.selenium/py/selenium/webdriver/remote/webdriver.py
Lines 282 to 283 in 6b412e8
however in 4.39.0, type hint that says the return type is
selenium.webdriver.remote.webdriver.WebDriverwas added.as a result, some browser specific method (e.g.
get_log) started causing type errors.selenium/py/selenium/webdriver/remote/webdriver.py
Lines 276 to 277 in 126f156
Reproducible Code
鈩癸笍 Last known working version:
4.38.0