簡體   English   中英

Python Selenium “名稱‘驅動程序’未定義”

[英]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])

錯誤

[英]Python TKinter, Selenium and threading throwing driver not defined error

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM