Selenium: 要素が存在し、表示され、操作可能になるまで動的に待機します
動的 Web 要素を操作する場合、次の使用を避けることが重要になります。静的なスリープ間隔を設定し、より効率的な待機テクニックを活用します。この記事では、Selenium の WebDriverWait を利用して、アクションを実行する前に要素が存在し、表示され、対話可能になるまで動的に待機する方法を説明します。
今回の場合、続行する前に、anonemail クラスが表示されるまで待つ必要があります。 WebDriverWait を使用してこれを実現するには、次の手順に従います。
WebDriverWait モジュールと ExpectedConditions モジュールをインポートします。
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC
検索する CSS セレクターを定義します。の要素:
css_selector = ".anonemail"
タイムアウト間隔 (例: 20 秒) を指定して WebDriverWait オブジェクトを作成します。
wait = WebDriverWait(browser, 20)
present_of_element_located 要素が存在するまで待機する予期される条件DOM:
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, css_selector)))
要素が検出された後、属性の値の抽出などの他の操作に進むことができます:
email = browser.find_element_by_css_selector(css_selector).get_attribute("value")
を利用することでWebDriverWait を使用すると、必要な要素の準備ができた場合にのみスクリプトがアクションを実行するようになり、信頼性の低いスリープ間隔が回避されます。
以上がSelenium の WebDriverWait は、続行する前に動的要素が存在し、表示され、対話可能であることをどのように確認できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。