Python 3.x 当我将selenium驱动程序作为参数传递时,PyCharm类型暗示不起作用

Python 3.x 当我将selenium驱动程序作为参数传递时,PyCharm类型暗示不起作用,python-3.x,selenium,selenium-webdriver,pycharm,type-hinting,Python 3.x,Selenium,Selenium Webdriver,Pycharm,Type Hinting,在一个类中,我使用selenium.webdriver初始化了一个浏览器,我想在另一个类中使用已经打开的相同浏览器。所以我想把这个webdriver作为参数传递给另一个类中的函数。 然而,无论我尝试什么,PyCharm都没有给我任何关于这个webdriver对象的可用方法的提示,即使我给它一个提示,它确实是来自selenium的webdriver。 我怎样才能正确地解决这个问题?我知道我可以初始化webdriver,在该类的工作结束后,我可以删除它,但我想这不是正确的解决方案 我的代码: fro

在一个类中,我使用selenium.webdriver初始化了一个浏览器,我想在另一个类中使用已经打开的相同浏览器。所以我想把这个webdriver作为参数传递给另一个类中的函数。 然而,无论我尝试什么,PyCharm都没有给我任何关于这个webdriver对象的可用方法的提示,即使我给它一个提示,它确实是来自selenium的webdriver。 我怎样才能正确地解决这个问题?我知道我可以初始化webdriver,在该类的工作结束后,我可以删除它,但我想这不是正确的解决方案

我的代码:

from emails import FormalEmailInterface
from selenium import webdriver


class EmailTest(FormalEmailInterface):

    def __init__(self, driver: webdriver, url: str):
        self.driver = driver
        self.url = url

    """"Get temporary email address"""
    def get_temp_email(self):
        # self.driver. <-- NO HINTS HERE!!!
        print(type(self.driver))
        pass
从电子邮件导入FormalMailInterface
从selenium导入webdriver
类EmailTest(FormalMailInterface):
定义初始化(self,驱动程序:webdriver,url:str):
self.driver=driver
self.url=url
“”获取临时电子邮件地址“”
def获取临时电子邮件(自我):

#self.driver.我的解决方案是导入特定的webdriver,比如Chrome对象,并在drive self.driver:Chrome中设置类型,现在我们有了webelement方法

从电子邮件导入FormalMailInterface
从selenium导入webdriver
从selenium.webdriver导入Chrome
类EmailTest(FormalMailInterface):
定义初始化(self,驱动程序:webdriver,url:str):
self.driver:Chrome=driver
self.url=url
“”获取临时电子邮件地址“”
def获取临时电子邮件(自我):
自动驾驶。
打印(类型(自驱动程序))
通过

这两个选项中的任何一个都应该起作用:

从selenium.webdriver.remote.webdriver导入webdriver
类EmailTest(FormalMailInterface):
定义初始化(self,驱动程序:WebDriver,url:str):
self.driver:WebDriver=driver
从键入import Union开始
从selenium导入webdriver
typeWebDriver=Union[webdriver.Firefox,
webdriver.Chrome,
webdriver.Edge,
webdriver.Safari,
webdriver.PhantomJS
]
类EmailTest(FormalMailInterface):
定义初始化(self,驱动程序:typeWebDriver,url:str):
self.driver:typeWebDriver=driver