Home > Software engineering >  Can't get the text of an element in Selenium Python
Can't get the text of an element in Selenium Python

Time:05-31

I am trying to get the text of an element and when I run it, it gives me the text for some of the elements and some it doesn't. I can't figure out why this is happening?

                # Type and Tags

                details_info = []
                types = WebDriverWait(driver, 10).until(
                    EC.presence_of_all_elements_located((By.TAG_NAME, "span")))
                for i in range(0, 19):
                    if types[i].text:
                        if types[i].text in reference:
                            details_info.append(types[i].text)
                # Types
                type_info = []
                for d in details_info:
                    if type(d) is str:
                        if d in type_legend:
                            type_info.append(d)
                info.append(type_info)

                # Tags
                tag_info = []
                for t in details_info:
                    if type(t) is str:
                        if t in tag_legend:
                            tag_info.append(t)
                info.append(tag_info)

CodePudding user response:

You have to use one of the following

types[i].get_attribute('innerHTML')
types[i].get_attribute('innerText')
types[i].get_attribute('textContent')

see differences here

  • Related