检查python对象是否无法正常工作

时间:2017-01-06 22:28:49

标签: python beautifulsoup

我正在使用beautifulsoup并在代码块之后检查这个html tr对象是否包含在其中。

if tr.find('th') is not None:
           result[tr.find('th').text] = tr.find('td').text

但它始终输入if block并返回属性错误"' NoneType'对象没有属性' text'"

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您有两个不同的 tr.find()来电,一个用于'th',另一个用于'td'。后者也可以返回None,但您没有对此进行测试,因此tr.find('td').text可能会引发AttributeError例外。

您需要测试两个结果。如果缺少td单元格,可能会存储空字符串或其他默认值?

header, cell = tr.find('th'), tr.find('td')
if header is not None:
    result[header.text] = cell.text if cell is not None else ''