使用;Python“;在SeleniumWebDriver中,收到以下消息:对象没有属性

使用;Python“;在SeleniumWebDriver中,收到以下消息:对象没有属性,python,python-3.x,selenium,selenium-webdriver,pycharm,Python,Python 3.x,Selenium,Selenium Webdriver,Pycharm,我在Python的Pycharm中使用seleniumwebdriver,其中我使用了一个具有2个测试函数的类 class goodsweb(unittest.TestCase): def setUp(self): driverlocation ="/Users/new/Documents/Learning/Drivers/selenium-2.53.1/py/selenium/webdriver/chromedriver" os.environ["we

我在Python的
Pycharm
中使用
seleniumwebdriver
,其中我使用了一个具有2个测试函数的类

class goodsweb(unittest.TestCase):

    def setUp(self):
        driverlocation ="/Users/new/Documents/Learning/Drivers/selenium-2.53.1/py/selenium/webdriver/chromedriver"
        os.environ["webdriver.chrome.driver"] = driverlocation
        self.driver = webdriver.Chrome(driverlocation)

    def test_Test1(self):
        self.EmailEntry = input("Please Enter Email Address: ")
        self.EmailAddress.send_keys(self.EmailEntry)
        self.Password.clear()
        self.password='12345678'
        self.Password.send_keys(self.password)

    def test_Test2(self):
        self.LoginEmail = driver.find_element_by_xpath("//*[@id='sign_form-default']//div[1]/input[@type='email']")
        self.LoginEmail.clear()
        self.LoginEmail.click()
        self.LoginEmail.send_keys(self.EmailEntry)

        self.LoginPassword = driver.find_element_by_xpath("//*[@id='sign_form-default']//div[1]/input[@type='password']")
        self.LoginPassword.clear()
        self.LoginPassword.click()
        self.LoginPassword.send_keys(self.password)
现在我想要的是在
test\u Test2

无论何时运行代码,都会出现以下错误:

AttributeError:“goodsweb”对象没有属性“EmailEntry”


您的EmailEntry字段在哪里

在goodsweb类中无法访问它。在此类中声明或定义为静态,以便可以在任何其他类中使用

若要在其他类或函数中使用一个字段,则必须将字段定义为静态字段

对于函数,概念是相同的。您可以将函数定义为静态函数

public static void main(){
     // your logic
}
对于python::

class MyClass(object):
    def the_static_method(x):
        print x
    the_static_method = staticmethod(the_static_method)

MyClass.the_static_method(2) # outputs 2

始终放置完整的错误消息(回溯)。还有其他有用的信息,这是您的EmailEntry字段吗?在goodsweb类中无法访问它。在这个类中声明或定义为static。@这是一个很长的代码,所以我刚刚输入了这个问题所需的主要内容。@Hiten我将它定义为static,它工作了。但我的问题是,这是一个好的实践吗?我还有一个问题,我如何调用任何函数,这意味着在其他脚本上只有特定的函数。意思是如果ScriptA的ClassA中有两个函数,即Function1和Function2,我只想访问ScriptB中的Function2。感谢您的建议及其Python..而不是Java。