Beautifulsoup – nextSibling

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.

Leave a Comment

File not found.