简体   繁体   中英

how to get the text attribute from the below HTML using selenium python

Below is the html code where i want to extract the text "Page 2 of 2" from it

HTML code

<thead>
        <tr>
            <th scope="col" class="GridHeader_Sonetto"><input id="ctl00_ctl00_ContentPlaceHolderContent_MainCategoriserContent_Map1_SubgroupsAndProducts1_plcCategoryProductsGrid_ctl00_ctl00_ctl02_ctl01_SelectSelectCheckBox" type="checkbox" name="ctl00$ctl00$ContentPlaceHolderContent$MainCategoriserContent$Map1$SubgroupsAndProducts1$plcCategoryProductsGrid$ctl00$ctl00$ctl02$ctl01$SelectSelectCheckBox" onclick="$find(&quot;ctl00_ctl00_ContentPlaceHolderContent_MainCategoriserContent_Map1_SubgroupsAndProducts1_plcCategoryProductsGrid_ctl00&quot;)._selectAllRows(&quot;ctl00$ctl00$ContentPlaceHolderContent$MainCategoriserContent$Map1$SubgroupsAndProducts1$plcCategoryProductsGrid$ctl00$ctl00&quot;, &quot;&quot;, event);setTimeout(&#39;__doPostBack(\&#39;ctl00$ctl00$ContentPlaceHolderContent$MainCategoriserContent$Map1$SubgroupsAndProducts1$plcCategoryProductsGrid$ctl00$ctl00$ctl02$ctl01$SelectSelectCheckBox\&#39;,\&#39;\&#39;)&#39;, 0)" /></th><th scope="col" class="GridHeader_Sonetto" style="display:none;">_InternalID</th><th scope="col" class="GridHeader_Sonetto" style="display:none;">_ID</th><th scope="col" class="GridHeader_Sonetto" style="display:none;">_Name</th><th scope="col" class="GridHeader_Sonetto" style="display:none;">_Order</th><th scope="col" class="GridHeader_Sonetto" style="display:none;">_Source</th><th scope="col" class="GridHeader_Sonetto" style="display:none;">_RootConcept</th><th scope="col" class="GridHeader_Sonetto">TPNB</th><th scope="col" class="GridHeader_Sonetto">Product Name</th>
        </tr>
    </thead><tfoot>
        <tr class="GridPager_Sonetto">
            <td colspan="3"><div class="PagerLeft_Sonetto">
                <span class="items-summary">Items 11 - 15 of 15</span><span class="grid-pages"><span><input type="submit" name="ctl00$ctl00$ContentPlaceHolderContent$MainCategoriserContent$Map1$SubgroupsAndProducts1$plcCategoryProductsGrid$ctl00$ctl00$ctl03$ctl01$ctl02" value=" " title="Previous Page" class="rgPagePrev" /></span>&nbsp;<input type="submit" name="ctl00$ctl00$ContentPlaceHolderContent$MainCategoriserContent$Map1$SubgroupsAndProducts1$plcCategoryProductsGrid$ctl00$ctl00$ctl03$ctl01$ctl03" value=" " onclick="return false;" title="Next Page" class="rgPageNext" />
            </div><div class="PagerRight_Sonetto">
                </span><span class="hide page-summary">Page 2 of 2</span>
            </div></td>
        </tr>
    </tfoot><tbody>

below is my code attempt

urll = driver.find_element(By.XPATH, "//input[@id='ctl00_ctl00_ContentPlaceHolderContent_MainCategoriserContent_Map1_SubgroupsAndProducts1_plcCategoryProductsGrid_ctl00_ctl00_ctl02_ctl01_SelectSelectCheckBox']")
            urll.find_element(By.XPATH,"//span[@class='hide page-summary']").get_attribute("textContent")

the above code is working but it is extracting the text of another one before this HTML code please help on getting the text page 2 of 2!!

elem=driver.find_elements_by_xpath("//span[@class='hide page-summary']")

print(elem[2].get_attribute("textContent"))

If there are two elements index the second one.

Also when indexing from parent use a.// otherwise you'll get from root.

Use the.text

element = driver.find_element_by_class_name('hide page-summary').text
print(element)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM