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

Python中定位第2个计分卡的Indexed XPath问题求助

解决Basketball Reference页面第2个计分卡链接定位问题

问题分析

你遇到的问题大概率是XPath匹配逻辑或元素定位细节出错,导致始终定位到第一个计分卡链接。以下是针对性的解决方案:

修正方案

  • 修正XPath的class匹配:原代码中XPath里的class值末尾多了一个空格,可能导致匹配的元素集合不符合预期。将XPath改为:
    (//div[@class='game_summary expanded nohover'])[2]/p/a
    
  • 换用列表索引定位:先获取所有计分卡链接元素,再通过Python列表的0索引特性定位第二个元素,这种方式比XPath内索引更直观可靠:
    # 等待所有计分卡链接加载完成
    score_cards = WebDriverWait(driver, 5).until(EC.presence_of_all_elements_located((By.XPATH, "//div[@class='game_summary expanded nohover']/p/a")))
    # 点击第二个链接(Python列表索引从0开始,第二个元素取索引1)
    score_cards[1].click()
    
  • 备选XPath写法:如果上述方法仍有问题,可尝试直接定位所有目标a标签再取第二个:
    (//div[@class='game_summary expanded nohover']/p/a)[2]
    

额外提示

  • 延长等待时间:将原代码中的2秒改为5秒,避免页面未完全加载导致元素定位异常。
  • 验证元素集合:可以先打印len(score_cards)确认是否获取到3个元素,确保定位逻辑正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 23:52:10