在 Selenium 中,必须切换到相应的 iframe 才能与其中驻留的元素进行交互。然而,经常需要在任何 iframe 中定位元素,包括嵌套的 iframe。
切换框架有以下三种方法:
显式循环帧不建议。相反,使用 WebDriverWait 和 frame_to_be_available_and_switch_to_it 条件,等待所需的帧可用并切换到它。
from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # Switch to iframe by ID WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(By.ID, "iframe_id"))
对于动态加载的元素或 iframe,请考虑使用WebDriverWait 具有 visibility_of_element_ located 条件,等待元素可见,然后切换到其 iframe。
虽然不能明确地选择跨元素无需切换帧,使用 WebDriverWait 和特定于帧的条件为这种情况提供了可靠且灵活的方法。
以上是如何在 Selenium 中跨多个 Iframe 高效地选择 HTML 元素?的详细内容。更多信息请关注PHP中文网其他相关文章!