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

如何从含特定主队值的表格行中提取所有比赛链接?

问题排查与解决方案

问题原因

你的代码在循环内获取链接时,使用了绝对路径XPath(//td[3]/div/a)。这种写法会从整个HTML文档的根节点开始查找元素,所以不管遍历哪一行,都会返回页面中第一个匹配该路径的元素,也就是表格第一行的Matchnr链接,导致所有循环输出都是同一个结果。

修正方案

把循环内的XPath改为相对路径(在开头添加.),表示从当前遍历的<tr>节点内部开始查找,这样就能精准定位到当前符合条件行内的Matchnr链接。同时可以优化初始定位行的XPath,让逻辑更简洁。

修正后的完整代码:

# 直接定位所有符合条件的行:Home team为Cleveland的tr
homegames = browser.find_elements_by_xpath('//tr[.//div[@data-title="Home team"]/a[text()="Cleveland"]]')

for link in homegames:
    # 使用相对路径+属性定位,精准找到当前行的Matchnr链接
    match_link = link.find_element_by_xpath('.//td[div[@data-title="Matchnr"]]/div/a')
    print(match_link.get_attribute('href'))

额外说明

  • 优化后的初始XPath//tr[.//div[@data-title="Home team"]/a[text()="Cleveland"]],直接通过tr节点内部的子元素条件筛选目标行,比多次parent::层级跳转更直观易读。
  • 循环内的XPath.//td[div[@data-title="Matchnr"]]/div/a,通过data-title属性定位列,比固定td[3]更健壮——如果表格列顺序发生变化,这种基于属性的定位不会失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:40:45