Python 硒 "name 'driver' is not defined"
Python Selenium "name 'driver' is not defined"
我正在尝试使用 python 上的 Selenium 登录我的帐户。当我在没有对象的情况下编写这段代码时,它没有问题,但是当我开始实现 class 时,我得到错误:
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' 的调用之前已经发生,但我在最后一行收到错误。
有谁知道为什么这不起作用?
您可以在切换到新 window 时使用以下代码。它将帮助您在新 window 打开
后获得 window 句柄
self.driver.switch_to_window(self.driver.window_handles[1])
添加自己。
self.driver.switch_to_window(driver.window_handles[1])
-> self.driver.switch_to_window(self.driver.window_handles[1])
我正在尝试使用 python 上的 Selenium 登录我的帐户。当我在没有对象的情况下编写这段代码时,它没有问题,但是当我开始实现 class 时,我得到错误:
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' 的调用之前已经发生,但我在最后一行收到错误。
有谁知道为什么这不起作用?
您可以在切换到新 window 时使用以下代码。它将帮助您在新 window 打开
后获得 window 句柄self.driver.switch_to_window(self.driver.window_handles[1])
添加自己。
self.driver.switch_to_window(driver.window_handles[1]) -> self.driver.switch_to_window(self.driver.window_handles[1])