Python jj=登录属性错误:类型对象';登录';没有属性';驱动程序&x27;

Python jj=登录属性错误:类型对象';登录';没有属性';驱动程序&x27;,python,selenium,web-crawler,infinite-scroll,attributeerror,Python,Selenium,Web Crawler,Infinite Scroll,Attributeerror,有人能帮我解决这个问题吗?我试图得到一个有无限卷轴的网页的页面来源。在获得目标页面之前,我需要登录到目标网站 谢谢 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time class Login: def __init__(self, log_url, target_url, user, pass_word): # comments # Com

有人能帮我解决这个问题吗?我试图得到一个有无限卷轴的网页的页面来源。在获得目标页面之前,我需要登录到目标网站

谢谢

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

class Login:

    def __init__(self, log_url, target_url, user, pass_word): # comments
        # Comments
        self.driver = webdriver.Chrome("D:/*****/******/Downloads/chromedriver.exe") # comments
        self.reloads = 1000
        self.pause_A = 0
        self.pause_B = 15
        self.username = self.driver.find_element_by_id('email')
        self.password = self.driver.find_element_by_id('password')
        self.sleep = time
        self.lastElement = self.driver.find_element_by_class_name('photo_link')
        self.log_in(log_url, target_url, user, pass_word) # Comments

    def log_in(self, log_url, target_url, user, pass_word): # comments
        #comments
        self.driver.get(log_url) # Comments
        self.username.send_keys(user)
        self.password.send_keys(pass_word)
        self.driver.find_element_by_class_name('unified_signup__label').submit()
        self.sleep.sleep(self.pause_B)
        self.driver.find_element_by_tag_name('body').send_keys(Keys.LEFT_CONTROL + 't')
        self.driver.get(target_url) # comments
        self.lastElement.send_keys(Keys.NULL) # comments
        # comments
        for _ in range(self.reloads):
            self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
            self.sleep.sleep(self.pause_A)

if __name__ == '__main__':
    jj = Login
    fun = ['https://anywebsite.com/login', 'https://anywebsite.com/lok.php', 'user', 'password']
    for tup in fun:
        log_url = tup[0]
        target_url = tup[1]
        user = tup[2]
        pass_word = tup[3]
        jj.log_in(Login, log_url, target_url, user, pass_word)
在创建
WebDriver
之前,在
init()
中调用
log\u In()
方法。在此方法中,您试图使用尚未创建的
驱动程序执行登录。这会导致一个错误,说明您的
登录
类没有
驱动程序
属性

self.log\u in(log\u url,target\u url,user,pass\u word)
移动到
init()
的底部,这样您就不会尝试使用尚未初始化的属性

编辑

您也没有创建
登录
类的实例
jj=Login
需要括号。从这里开始,您可以将
jj.log\u-in(登录、登录url、目标url、用户、传递单词)
更改为
jj.log\u-in(登录url、目标url、用户、传递单词)


在使用它处理
Selenium
之前,您可能想学习
Python
编程的基础知识。

它在哪一行失败?请发布完整的错误堆栈。只是想一想,在
init
中,在驱动程序启动(?)回溯之前,您正在调用
log\u in
(最后一次调用):文件“D://***/***/PycharmProjects/***/02.py”,第44行,在jj.log\u in(登录,日志url,目标url,用户,传递单词)文件“D://***/***/***/PycharmProjects/***/02.py”,第23行,在log\u in self.driver.get(日志url)中AttributeError:type对象“Login”没有属性“driver”回溯(上次调用):文件“D://***/***/PycharmProjects/***/02.py”,第44行,在jj.log\u中(登录,日志url,目标url,用户,传递单词)文件“D://***/***/PycharmProjects/***/02.py”,第23行,在log\u in self.driver.get(日志url)中AttributeError:type对象“Login”没有属性“driver”,谢谢你的回复。我确实需要在我的基础上工作;然而,你的编辑仍然给出错误:jj=Login()TypeError:uu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。您已经在构造函数中调用了
log\u
,因此不需要在
main
中执行此操作。将jj.login(…,…,…,…)
更改为
login(登录url、目标url、用户、密码)
。同时从
main
中删除
jj=Login()。