[英]Python Selenium “name 'driver' is not defined”
我正在嘗試使用 Selenium 和 python 登錄我的帳戶。 當我在沒有 object 的情況下編寫此代碼時,它沒有問題,但是當我開始實現 class 時,我收到錯誤:
name 'driver' not defined
這很奇怪,因為在我收到錯誤之前,“驅動程序”已經被調用了 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])
即使“驅動程序”的調用之前已經發生,我在最后一行得到錯誤。
有誰知道為什么這不起作用?
您可以在切換到新的 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])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.