我正在尝试在python上使用Selenium登录到我的帐户。当我编写没有对象的代码时,它没有问题,但是当我开始实现一个类时,我得到了错误:
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])
即使之前已经发生过“驱动程序”的调用,我仍会在最后一行收到错误。
有谁知道为什么这不起作用?
最佳答案
您可以在切换到新窗口时使用以下代码。新窗口打开后,它将帮助您获取窗口句柄
self.driver.switch_to_window(self.driver.window_handles[1])
关于python - 未定义“Python Selenium “name '驱动程序”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61337257/