🦁

StaleElementReferenceExceptionの解決方法

2024/06/18に公開
# NG
table = driver.find_element(By.TAG_NAME, "table")
tds = table.find_elements(By.TAG_NAME, "td") # StaleElementReferenceException

# OK
table = driver.find_element(By.TAG_NAME, "table")
try:
    tds = table.find_elements(By.TAG_NAME, "td")
except StaleElementReferenceException:
    # テーブルを取る時点でダメになってるので、取り直すのが吉。
    # 多少時間を空けた方が安定感あり。
    time.sleep(0.01)
    table = driver.find_element(By.TAG_NAME, "table")
    tds = table.find_elements(By.TAG_NAME, "td")

Discussion