The problem is that you have found a NavigableString
, not the <td>
. Also nextSibling
will find the next NavigableString
or Tag
so even if you had the <td>
it wouldn't work the way you expect.
This is what you want:
address = soup.find(text="Address:")
b_tag = address.parent
td_tag = b_tag.parent
next_td_tag = td_tag.findNext('td')
print next_td_tag.contents[0]
Or more concise:
print soup.find(text="Address:").parent.parent.findNext('td').contents[0]
Actually you could just do
print soup.find(text="Address:").findNext('td').contents[0]
Since findNext
just calls next
over and over again, and next
finds the next element as parsed repeatedly until it matches.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…