简体   繁体   English

如何使用 selenium python 从下面的 HTML 获取文本属性

[英]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 代码,我想从中提取文本“Page 2 of 2”

HTML code HTML代码

<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!!上面的代码正在工作,但它正在提取此 HTML 代码之前的另一个文本,请帮助获取文本第 2 页,共 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.此外,当从父级索引时使用 a.// 否则您将从根目录获取。

Use the.text使用.text

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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