Home > Blockchain >  How to access parent text which has no tag through xPath
How to access parent text which has no tag through xPath

Time:06-15

Please find the code below

<div >
                        <label  rel="tooltip" title="Proprietary/trade name of the medical device as used in the labeling or catalog.">Brand Name:</label>
                        Snowden-Pencer
                        <br>
                        <label  rel="tooltip" title="Identifies a category or design of devices that have specifications, performance, size, and composition within limits set by the company.">Version or Model:</label>
                        32-0044
                        <br>
                        <label  href="#" rel="tooltip" title="Whether the device is currently offered for sale by the device company. A device no longer in commercial distribution may or may not still be available for purchase in the marketplace.">Commercial Distribution Status:</label>
                        In Commercial Distribution
                        <br>
                        <label >Catalog Number:</label>
                        32-0044
                        <br>
                        <label >Company Name:</label>
                        CAREFUSION 2200, INC
                    </div>

I have to retrieve parent text like "Snowden-Pencer", "32-0044","CAREFUSION 2200, INC" individually

This is what I have tried

element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/section[1]/div[1]/div[1]//div[1]/*"))
    )

Output is:

output = Brand Name:

I need to find the correct XPath. Please help me out, thanks in advance

CodePudding user response:

If you're using selenium you can use the getText() method so it will perhaps look like driver.findElement(webdriver.By.xpath("XPath")).getText() Altought that's for Java.

For python I believe it looks something like this

value_text = driver.find_element_by_xpath("XPath").text

CodePudding user response:

Can you try below two xpaths

//label[@rel='toltip']/*

CodePudding user response:

you can use regex

import re
a = """<div >
                        <label  rel="tooltip" title="Proprietary/trade name of the medical device as used in the labeling or catalog.">Brand Name:</label>
                        Snowden-Pencer
                        <br>
                        <label  rel="tooltip" title="Identifies a category or design of devices that have specifications, performance, size, and composition within limits set by the company.">Version or Model:</label>
                        32-0044
                        <br>
                        <label  href="#" rel="tooltip" title="Whether the device is currently offered for sale by the device company. A device no longer in commercial distribution may or may not still be available for purchase in the marketplace.">Commercial Distribution Status:</label>
                        In Commercial Distribution
                        <br>
                        <label >Catalog Number:</label>
                        32-0044
                        <br>
                        <label >Company Name:</label>
                        CAREFUSION 2200, INC
                    </div>"""
b = re.findall(r' (.*?)\n', a)
c = [x.lstrip().rstrip() for x in b if '<' not in x and '>' not in x]
  • Related