【问题标题】:Python Selenium 'module' object is not callable in python selenium scriptPython Selenium“模块”对象在python selenium脚本中不可调用
【发布时间】:2017-02-05 14:47:03
【问题描述】:

学习由 Python 驱动的 Selenium,在我的实践中,我不断收到以下错误。我被卡住了,可以使用一些指导

Traceback(最近一次调用最后一次):文件“test_login.py”,第 14 行,在 test_Login loginpage = homePage(self.driver) TypeError: 'module' object is not callable

这是我的代码

test_login.py

import unittest
import homePage
from selenium import webdriver

class Login(unittest.TestCase):

  def setUp(self):
     self.driver = webdriver.Firefox()
     self.driver.get("https://hub.docker.com/login/")

  def test_Login(self):
      loginpage = homePage(self.driver)
      loginpage.login(email,password)

  def tearDown(self):
      self.driver.close()

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

主页.py

from selenium.webdriver.common.by import By

class BasePage(object):

    def __init__(self, driver):
        self.driver = drive


class LoginPage(BasePage):
    locator_dictionary = {
        "userID": (By.XPATH, '//input[@placeholder="Username"]'),
        "passWord": (By.XPATH, '//input[@placeholder="Password"]'),
        "submittButton": (By.XPATH, '//button[text()="Log In"]'),
    }



    def set_userID(self, id):
        userIdElement = self.driver.find_element(*LoginPage.userID)
        userIdElement.send_keys(id)

    def login_error_displayed(self):
        notifcationElement = self.driver.find_element(*LoginPage.loginError)
        return notifcationElement.is_displayed()

    def set_password(self, password):
        pwordElement = self.driver.find_element(*LoginPage.passWord)
        pwordElement.send_keys(password)        

    def click_submit(self):
        submitBttn = self.driver.find_element(*LoginPage.submitButton)
        submitBttn.click()

    def login(self, id, password):
        self.set_password(password)
        self.set_email(id)
        self.click_submit()

感谢任何帮助

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    我想在这里:

    loginpage = homePage(self.driver)
    

    您的意思是实例化 LoginPage 类:

    loginpage = homePage.LoginPage(self.driver)
    

    【讨论】:

    • 感谢您的快速回复。
    • 现在我得到: Traceback(最近一次调用最后一次):文件“test_login.py”,第 16 行,在 test_Login loginpage.login('ID','PW') 文件“homePage.py ",第 31 行,在登录 self.set_userID(id) 文件中 "/homePage.py",第 18 行,在 set_userID userIdElement = self.driver.find_element(*LoginPage.userID) AttributeError: type object 'LoginPage' has no attribute ' userID' 我应该在哪里关注或查找此错误的原因?谢谢
    • @user1279586 你有一个错字 - 请参阅驱动器与驱动器。
    • 没看到。再次,还在学习中,能不能给我指点参考和研究的路线?
    猜你喜欢
    • 1970-01-01
    • 2022-08-03
    • 2021-12-25
    • 2015-09-05
    • 1970-01-01
    • 2022-01-08
    • 2013-08-14
    • 2020-05-24
    • 1970-01-01
    相关资源
    最近更新 更多