【问题标题】:how do i solve this: AttributeError: 'list' object has no attribute 'text' [duplicate]我该如何解决:AttributeError:'list'对象没有属性'text'[重复]
【发布时间】:2020-10-07 16:08:52
【问题描述】:

这是我遇到的错误

36 value = driver.find_elements_by_xpath('//*[@id="app"]/main/div/div[2]/table["+str(r)+"]/tbody/tr["+str(c)+"]').text


AttributeError: 'list' object has no attribute 'text'

我正在尝试获得一个看起来像这样的表格

团队 1st Goal HT FT 曼彻斯特蓝 vs 西汉姆 1:0 2:0 3:0 伦敦枪对沃特福德 1:0 1:0 3:0 利物浦 vs 莱斯特 0:1 1:2 2:2 纽卡斯尔 VS 水晶宫 1:0 1:0 2:1 热刺 vs 伯恩利 0:1 0:1 2:1 切尔西 VS 伯恩茅斯 1:0 2:0 2:2 南安普顿 vs. 伍尔弗汉普顿 1:0 0:0 2:1 曼彻斯特红人 vs 埃弗顿 0:1 0:1 0:2

【问题讨论】:

  • 看起来您正在使用的函数返回给定页面的元素列表。您想从每个元素中获取text 属性吗?
  • 我想得到一个像这样的表
  • 那么value 列表是空的吗?您是否进行了我在下面的回答中建议的更改以消除错误?

标签: python selenium


【解决方案1】:

您似乎正试图从find_elements_by_xpath 返回的每个元素中访问text 属性。要查看这些,您必须执行以下操作:

# Create list of matching elements
elements = driver.find_elements_by_xpath('//*[@id="app"]/main/div/div[2]/table["+str(r)+"]/tbody/tr["+str(c)+"]')

# Read text attribute from each element
for elt in elements:
    print(elt.text)

【讨论】:

  • 我明白了。这可能与您用来在页面上查找表格的表达式有关。我会将此问题标记为已关闭,然后打开一个新问题,了解从页面中抓取表格的正确方法。
  • 好的。谢谢这就是我会做的
  • 基于,正是我所需要的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-22
  • 1970-01-01
  • 1970-01-01
  • 2022-07-20
  • 2021-11-08
  • 1970-01-01
  • 2020-11-12
相关资源
最近更新 更多