Selenium Python 如何等待填充选择中的选项?

jhh*_*Phi 3 python selenium web-scraping

示例:等待

<select id="myselect"></select>
Run Code Online (Sandbox Code Playgroud)

填充

<option value="123">One-two-three</option>
Run Code Online (Sandbox Code Playgroud)

我怎样才能在 Python 中做到这一点?

Vin*_*iar 8

您可以使用presence_of_element_located显式等待来定位带有 css 选择器的元素:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException

try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, "option[value='123']"))
    )
    print("Option loaded")
except TimeoutException:
    print("Time exceeded!")

#  Do Your Stuff
Run Code Online (Sandbox Code Playgroud)