PyCharm type hinting does not work when I pass selenium driver as an argument
My solution is import specific webdriver like Chrome object and set type in drive self.driver: Chrome, now we have webelement method
from emails import FormalEmailInterfacefrom selenium import webdriverfrom selenium.webdriver import Chromeclass EmailTest(FormalEmailInterface): def __init__(self, driver: webdriver, url: str): self.driver: Chrome = driver self.url = url """"Get temporary email address""" def get_temp_email(self): self.driver. print(type(self.driver)) pass
Either of these options should do the trick:
from selenium.webdriver.remote.webdriver import WebDriverclass EmailTest(FormalEmailInterface): def __init__(self, driver: WebDriver, url: str): self.driver: WebDriver = driver
from typing import Unionfrom selenium import webdrivertypeWebDriver = Union[webdriver.Firefox, webdriver.Chrome, webdriver.Edge, webdriver.Safari, webdriver.PhantomJS ]class EmailTest(FormalEmailInterface): def __init__(self, driver: typeWebDriver, url: str): self.driver: typeWebDriver = driver