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

使用Selenium爬取Instagram轮播帖时如何获取图片src

解决Instagram轮播帖后续图片src获取重复的问题

你的问题核心是:点击轮播Next按钮后,Selenium仍返回第一张图片的src,原因主要有两个:要么是元素属性缓存未更新,要么是定位到了原始帖子而非当前打开的弹窗帖子。不需要引入BeautifulSoup,用Selenium本身就能解决。

解决方案1:等待图片src属性更新

Instagram轮播切换时,通常不会替换<img>元素,只是更新它的src属性。直接重新获取元素属性可能拿到缓存值,需要等待属性变化后再读取:

from selenium.webdriver.support import expected_conditions as EC

# 获取第一张图的src
image_element = post_element.find_element(By.XPATH, ".//div[@class='_aagv']/img")
original_src = image_element.get_attribute('src')

# 点击Next按钮
next_btn = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[aria-label='Next']")))
next_btn.click()

# 等待src属性变化,避免读取缓存
WebDriverWait(driver, 10).until(lambda d: image_element.get_attribute('src') != original_src)

# 获取更新后的src
new_image_src = image_element.get_attribute('src')

解决方案2:重新定位当前弹窗内的图片元素

如果post_element是点击前的帖子预览元素,点击后打开的是弹窗,此时用post_element查找会定位到页面上的原始帖子,而非弹窗里的轮播图。需要先定位当前打开的帖子弹窗,再在弹窗内找图片:

# 获取第一张图的src
original_src = post_element.find_element(By.XPATH, ".//div[@class='_aagv']/img").get_attribute('src')

# 点击Next按钮
next_btn = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[aria-label='Next']")))
next_btn.click()

# 定位当前打开的帖子弹窗(Instagram弹窗通常带role='dialog')
current_post_dialog = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[@role='dialog']")))

# 在弹窗内获取当前显示的图片src
new_image_element = current_post_dialog.find_element(By.XPATH, ".//div[@class='_aagv']/img")
new_image_src = new_image_element.get_attribute('src')

额外注意事项

  • 避免用driver.execute_script("arguments[0].click();", next_btn),直接用next_btn.click()更可靠,Selenium会自动处理元素状态。
  • 如果轮播切换时<img>元素会被替换,可以用EC.staleness_of(image_element)等待旧元素失效,再重新查找新元素:
WebDriverWait(driver, 10).until(EC.staleness_of(image_element))
new_image_element = current_post_dialog.find_element(By.XPATH, ".//div[@class='_aagv']/img")
new_image_src = new_image_element.get_attribute('src')

内容的提问来源于stack exchange,提问作者Angel Mosley

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 22:40:04