如何使用xpath获取样式标记内容

时间:2015-11-17 13:41:41

标签: python html xpath lxml

我必须在python中使用xpath分析以下html内容。我必须得到的内容是样式标签的内容。

<div class="chartBody">
    <div class="chartRow">
        <div class="chartLabel">Certificate</div>
            <div class="chartBar_g" style="width:300px">&nbsp;</div>
    </div>
    <div class="chartRow">
        <div class="chartLabel">Protocol Support</div>
            <div class="chartBar_a" style="width:210px">&nbsp;</div>
    </div>
</div>

包含样式标记的类是不同的。 每个人都能告诉我xpath-string,以获取列表中的所有样式内容吗?

2 个答案:

答案 0 :(得分:1)

enter code here 1)搜索具有style属性的元素,例如:

element = driver.find_element_by_class("chartBar_g")

2)获取style属性:

element.get_attribute("style")

以下是如何获取具有样式属性

的“所有”div元素
elements = driver.find_elements_by_xpath("//div[@style]")

然后你可以循环遍历元素并应用我在步骤2中描述的内容

答案 1 :(得分:0)

import html5lib

str = yourHtml
html_parser = html5lib.HTMLParser(tree=html5lib.treebuilders.getTreeBuilder("lxml"), namespaceHTMLElements=False)
page = html_parser.parse(str, encoding="utf-8")
page.xpath("//div[@class = 'chartBar_g']//@style")

输出是:     [&#39;宽度:30PX&#39;]