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

Selenium定位器无法抓取亚马逊全部商品URL的问题排查

问题:亚马逊印度站搜索“iphone charger”时页面显示22个商品但仅抓取到17个URL

我使用以下代码从亚马逊印度站提取“iphone charger”的搜索结果,页面显示有22个商品URL,但程序仅抓取到17个,遗漏了部分URL,请问可能的原因是什么?

import selenium.webdriver as webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
import time  # 修正原代码的首字母大写错误

chrome_driver_path = "driver/chromedriver"

driver = webdriver.Chrome(ChromeDriverManager().install())

url = 'https://www.amazon.in/'

driver.get(url)

keyword = 'iphone charger'

search_box = driver.find_element_by_id('twotabsearchtextbox')
search_box.send_keys(keyword)

search_button = driver.find_element_by_id('nav-search-submit-text')
search_button.click()

driver.implicitly_wait(15)
product_link = []

items = wait(driver, 10).until(EC.presence_of_all_elements_located((By.XPATH, '//div[contains(@class, "s-result-item s-asin sg-col-0-of-12 sg-col-16-of-20 sg-col s-widget-spacing-small sg-col-12-of-16")]')))

for item in items:
    link = item.find_element_by_xpath('.//a[@class="a-link-normal s-underline-text s-underline-link-text s-link-style a-text-normal"]').get_attribute('href')
    print(link)
    product_link.append(link)
    time.sleep(6)

print(len(product_link))

driver.quit()

可能的原因分析

  • 元素定位规则过于严苛:你用的XPATH指定了过多的class组合,而亚马逊搜索结果里的商品item可能有不同的class配置——比如赞助商品、广告商品的class和普通商品存在差异,这类商品会被你的定位规则直接排除,导致数量遗漏。

  • 等待机制冲突:代码同时混用了driver.implicitly_wait(15)和显式等待wait(driver, 10),两种等待逻辑的判断规则不同,可能导致显式等待提前触发,此时页面还未完全加载所有22个商品,自然只能抓取到已加载的17个。

  • 子元素定位无异常处理:抓取商品链接时你用了固定class的XPATH,但部分商品的链接元素class可能不同(比如自营商品、套装商品的链接class会有变化),此时find_element_by_xpath会抛出异常,若没有try-except捕获异常,循环会直接中断,后续商品都无法被抓取。

  • 未触发动态加载:亚马逊搜索结果是滚动加载的,页面初始可能只加载部分商品,剩余商品需要滚动页面后才会加载。你的代码没有执行滚动操作,导致未加载的商品无法被定位到。

  • 原代码的拼写错误:原代码中Import time的首字母大写会导致语法错误,若实际运行时未修正,程序会直接报错终止;如果是粘贴时的笔误,可忽略此条。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 00:54:33