You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Selenium切换至Iframe进行数据爬取?

解决Selenium无法切换到指定Iframe的问题

针对你遇到的这个iframe,下面是几种可靠的切换方法,核心要确保iframe加载完成后再操作:

  • 等待iframe加载完成再切换
    硬编码等待时间不稳定,推荐用显式等待确保iframe可用后再切换:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    # 等待iframe加载并自动切换,超时时间设为10秒
    WebDriverWait(driver, 10).until(
        EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, 'iframe[src="https://direct.argusmedia.com/integration/price/pricedata"]'))
    )
    
  • 通过WebElement定位后切换
    先定位到iframe元素再切换,适合需要对元素做额外判断的场景:

    iframe_element = driver.find_element(By.CSS_SELECTOR, 'iframe[src="https://direct.argusmedia.com/integration/price/pricedata"]')
    driver.switch_to.frame(iframe_element)
    
  • 通过索引切换(备选方案)
    如果页面中只有这一个iframe,或是它是第一个iframe,可直接用索引快速切换:

    driver.switch_to.frame(0)  # 索引从0开始计数
    

注意事项

  • 爬取完iframe内的数据后,记得切回主页面,避免后续操作出错:
    driver.switch_to.default_content()
    
  • 若页面存在多层嵌套iframe,需要逐层切换进入,后续操作完成后也要逐层切回。

内容的提问来源于stack exchange,提问作者mr robot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 20:43:12