Python 未使用的导入语句-警告消息

Python 未使用的导入语句-警告消息,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,正在获取以下导入语句的警告消息: from selenium.webdriver.common.keys import Keys 警告信息: “此检查检测应解析但不应解析的名称。由于动态分派和duck类型,在有限但有用的情况下,这是可能的。与实例项目相比,支持顶级和类级项目更好。” 警告消息“此检查检测应解析但不解析的名称。由于动态分派和duck类型,在有限但有用的情况下,这是可能的。顶级和类级项目比实例项目更受支持。” 有人能告诉我为什么会收到此警告消息,以及如何消除此错误消息以使语句不会

正在获取以下导入语句的警告消息:

from selenium.webdriver.common.keys import Keys
警告信息: “此检查检测应解析但不应解析的名称。由于动态分派和duck类型,在有限但有用的情况下,这是可能的。与实例项目相比,支持顶级和类级项目更好。”

警告消息“此检查检测应解析但不解析的名称。由于动态分派和duck类型,在有限但有用的情况下,这是可能的。顶级和类级项目比实例项目更受支持。”


有人能告诉我为什么会收到此警告消息,以及如何消除此错误消息以使语句不会变灰吗?

在您的代码示例中,您正在导入从未在代码中使用过的Keys类。。PyCharm试图注意到您已经导入了Keys类,但是您没有使用它(未使用的导入语句),因此在本例中,您有两种选择:

  • 第一个:如果你不愿意也不打算在类中使用Keys 然后您可以简单地删除导入的代码
  • 第二个:如果你打算在你的代码中使用它 稍后,一旦您使用Keys类,它将自动消失,并且import语句将不会变灰
注意Keys类在键盘中提供特殊键,例如:RETURN、F1、ALT。。等
您可以从

中阅读这个解释过的示例。您是否搜索了错误消息?这是你应该做的第一件事,然后尝试那里的解决方案,看看什么是有效的。如果没有任何效果,请回来编辑您的问题,添加您尝试过的内容和结果。我尝试了谷歌,但没有得到明确的答案,这就是为什么我在这里发布问题的原因。您导入了
密钥
类,但从未使用过它。。。可以在代码中使用它,也可以删除导入行。我对用户名和密码使用了“发送密钥”方法。请看代码。我确实读过代码,send_keys方法用于发送值,但是keys是另一个类,它用于特殊的键,如RETURN、F1、ALT、TAB等,如上所述,假设我想发送返回值,那么我将执行如下操作:
self.driver。通过_名称(“用户名”)查找_元素。send_keys(Keys.RETURN)
,我知道这可能有点让人困惑,但请记住Keys是一个不同的类,用于特殊的Keys值。我希望这确实有帮助,您可以阅读这里的Keys类代码,我希望Keys类及其功能对您来说会很清楚。
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep


class Login(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Chrome()
        self.driver.get("https://gwl.greatwestlife.com/MyLogin")
        self.driver.maximize_window()
        sleep(4)

    def test_user_can_login(self):
        self.driver.find_element_by_xpath("//input[@id='loginPage:loginForm:username']").clear()
        self.driver.find_element_by_xpath("//input[@id='loginPage:loginForm:username']").send_keys("#####")
        self.driver.find_element_by_xpath("//input[@id='loginPage:loginForm:password']").send_keys("#####")
        self.driver.find_element_by_xpath("//input[@id='loginPage:loginForm:loginButton']").click()

    def tearDown(self) -> None:
        self.driver.close()


if __name__ == '__main__':
    unittest.main()