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"
创建一个 WebDriverWait 对象,指定超时间隔(例如 20 秒):
wait = WebDriverWait(browser, 20)
使用Presence_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中文网其他相关文章!