Python Selenium“;名称';驱动程序&x27;“未定义”;

Python Selenium“;名称';驱动程序&x27;“未定义”;,python,selenium,selenium-webdriver,error-handling,webdriver,Python,Selenium,Selenium Webdriver,Error Handling,Webdriver,我正在尝试使用Selenium on和python登录我的帐户。当我编写这段没有对象的代码时,它不会出现任何问题,但是当我开始实现一个类时,我得到了一个错误: name 'driver' not defined 这很奇怪,因为在我得到错误之前,“driver”已经被调用了1次 代码如下所示: class my_bot: def __init__(self): self.driver = webdriver.Safari() self.driver.get('https://w

我正在尝试使用Selenium on和python登录我的帐户。当我编写这段没有对象的代码时,它不会出现任何问题,但是当我开始实现一个类时,我得到了一个错误:

name 'driver' not defined
这很奇怪,因为在我得到错误之前,“driver”已经被调用了1次

代码如下所示:

class my_bot:
def __init__(self):

    self.driver = webdriver.Safari()
    self.driver.get('https://website.com')

def login(self, email, password):

    self.email = email
    self.password = password

    wait = WebDriverWait(self.driver, 10)

    fb_btn = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="modal-manager"]/div/div/div/div/div[3]/span/div[2]/button')))
    self.driver.execute_script("arguments[0].click()", fb_btn)
    sleep(3)

    #switch the window

    base_window = self.driver.window_handles[0]
    self.driver.switch_to_window(driver.window_handles[1])
我在最后一行得到了错误,尽管之前已经发生了调用“driver”的情况


有人知道为什么这不起作用吗?

切换到新窗口时,您可以使用下面的代码。它将帮助您在新窗口打开后获取窗口句柄

self.driver.switch_to_window(self.driver.window_handles[1])
加上自我

self.driver.switch_到_窗口(driver.window_句柄[1]) ->self.driver.switch_to_window(self.driver.window_句柄[1])