Python Forum
Check element for a particular type
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Check element for a particular type
#1
Hello,
When I print type of a particular element, the output is:
Output:
<class 'bs4.element.Tag'>
How to check it in condition statement ?
The following check
if type(aaa) == bs4.element.Tag:
doesn't work.
Any suggestions ?
Thanks.
Reply
#2
Use isinstance and not type,from BS can import Tag element to compare against.
from bs4 import Tag, NavigableString, BeautifulSoup

html = '''\
<table class="table-info">
<tr>
    <td class="col-1"><div class="col-1-text">E-mail:</div></td>
    <td class="col-2"><div class="col-2-text"><a href="mailto:[email protected]">[email protected]</a></div></td>
</tr>
</table>'''

soup = BeautifulSoup(html, 'lxml')
 
Usage test.
>>> isinstance(soup, Tag)
True
>>> 
>>> s = 'hello'
>>> isinstance(s, Tag)
False
>>> 
>>> td = soup.select_one('.col-1')
>>> td
<td class="col-1"><div class="col-1-text">E-mail:</div></td>
>>> isinstance(td, Tag)
True
Pavel_47 likes this post
Reply
#3
Works!
Thanks.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  using lxml to create a complex type element piscvau 0 1,671 Apr-03-2021, 11:12 AM
Last Post: piscvau
  Simple Element Check Code in Selenium Not Working digitalmatic7 1 2,987 Feb-18-2018, 06:53 AM
Last Post: metulburr

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020