print(bs.nonExistentTag)
Этот объект вполне доступен для обработки и проверки. Проблема возникает в том случае, если продолжать его использовать без проверки и попытаться вызвать для объекта None другую функцию:
print(bs.nonExistentTag.someTag)
Эта функция вернет исключение:
AttributeError: 'NoneType' object has no attribute 'someTag'
Как же застраховаться от этих ситуаций? Проще всего — явно проверить обе ситуации:
try:
badContent = bs.nonExistingTag.anotherTag
except AttributeError as e:
print('Tag was not found')
else:
if badContent == None:
print ('Tag was not found')
else:
print(badContent)