调用类方法时"missing 1 required positional argument"


from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
class Main():
def Login(self,username,password):
self.username = username
self.password = password
driver = webdriver.Chrome()
driver.get("http://instagram.com")
time.sleep(5)
login_input = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[1]/div/label/input')
password_input = driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[2]/div/label/input')
login_input.send_keys(self.username)
password_input.send_keys(self.password)

main = Main.Login("test","test")

问题是我得到这个错误:TypeError: Login() missing 1 required positional argument: 'password'。有人有解决办法吗?

main = Main.Login("test","test")

应:

main = Main().Login("test","test")

或:

main = Main()
main.Login("test","test")

你的方法不是一个类方法,所以你不能用Main.Login访问它。在你的函数中添加一个@classmethod装饰器,或者先创建一个Main实例,然后在该实例上调用你的方法。

另外,你的函数不返回任何东西,所以把它赋值给一个变量只会给你None

相关内容

最新更新