對不起,如果這是一個愚蠢的問題。
我正在嘗試使用帶有 Python 的 selenium webdriver 登錄網站。但是在這個網站上,一旦我按下登錄按鈕,網站上就會出現一個彈出視窗,我必須點擊彈出視窗上的一個按鈕。網站做的不是很好,每次彈窗出現在網站上的時間都不一樣,有時需要幾秒鐘,有時可能需要15-20秒。我想知道是否有一種方法可以讓 Python 等待它檢測到我需要在螢屏上按下的彈出視窗或按鈕,然后繼續執行該功能并單擊該按鈕。
uj5u.com熱心網友回復:
您可以并且應該在這種情況下使用顯式等待。
例如,如果button.close-pop-up可以使用選擇器定位關閉彈出視窗的按鈕,則可以使用以下命令:
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "button.close-pop-up"))).click()
要使用它,您需要匯入
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
并通過以下方式初始化wait物件
wait = WebDriverWait(driver, 20)
有關示例代碼,請參閱此討論或任何其他使用“預期條件”的 selenium 代碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/330724.html
上一篇:Terraform匯入地圖資源
