获取错误AttributeError:'WebDriver'对象在selenium中执行python脚本时没有属性'GoTo'“

时间:2013-05-11 18:32:26

标签: python selenium

我正在使用selenium和python进行自动化。以下是我创建的两个.py文件:

Browser.py:

from selenium import webdriver

class Browser:

    def GoTo(self, url):
        browser.get(url)

browser = webdriver.Firefox()

Login.py:

import unittest
from Browser import *

class Test(unittest.TestCase):

    def setUp(self):
        pass

    def test_Can_Login(self):
        browser.GoTo("http://www.google.co.in")

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

当我运行Login.py时,Firefox会打开但什么都不做。它抛出一个错误说:

"Traceback (most recent call last):
  File "/media/Pinku/Tests/src/Login.py", line 10, in test_Can_Login
    browser.GoTo("http://www.google.co.in")
AttributeError: 'WebDriver' object has no attribute 'GoTo'"

我在这里忽略了什么。在努力寻找错误之后发布这个。请帮助!

1 个答案:

答案 0 :(得分:2)

这是因为您的browserFirefox的实例,而不是您定义的类。

class Test(unittest.TestCase):
    def setUp(self):
        self.browser = Browser()
    def test_Can_Login(self):
        self.browser.GoTo("http://www.google.co.in")

但是,如果要包装Firefox的功能,则应考虑对其进行子类化而不是使用全局变量。

class Browser(webdriver.Firefox):
    def GoTo(self, url):
        self.get(url)