Python Selenium: 複数の要素のロードを待機します
あなたのタスクには、AJAX 経由でロードされた動的リストに、事前に複数の li 要素があることを確認することが含まれます。進んでいます。実際のコンテンツが利用可能になる前に、リストには最初に読み込みメッセージが表示されます。
カスタム条件で WebDriverWait を使用する解決策
推奨されるアプローチは、ラムダ関数で WebDriverWait を使用することです。カスタム条件を定義します。この関数を使用すると、検出された要素の数が指定された最小値を超えているかどうかを検証できます。
<code class="python">from selenium.webdriver.support import expected_conditions as EC num_elements = 1 WebDriverWait(driver, timeout).until( lambda d: len(d.find_elements_by_css_selector('ul.ltr li[id^="t_b_"] a[id^="t_a_"]')) > num_elements )</code>
代替アプローチ
注
コード例で使用されている CSS_SELECTOR ロケーターと XPATH ロケーターは、特定の要素識別子に一致するように変更できます。
参考資料:
以上がPython Selenium で複数の要素がロードされるのを待つ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。