使用非标准html自定义属性的Xpath选择



我使用带有lxml的python从html中提取数据。

我想从HTML中选择在HTML中使用非标准属性的HTML。

例如:

content = '''
<html>
<body>
    <div id="one">content</div>
    <div nonstandardattr="somevalue">custom attribute text node</div>
</body>
</html>
'''

我想做这样的事情:

page = html.fromstring( content )
page.xpath( '//div[@nonstandardattr="somevalue"]/text() ' )

其中page是lxml.html.HtmlElement.的实例

当我尝试时,我看到以下异常:

XPathEvalError: Invalid predicate
//div[@nonstandardattr="somevalue"]/text()

试试上面的。关闭的]缺少

Xpath并没有将非标准的html属性与标准的属性区分开来,因为Xpath将html视为xml,这意味着任何东西都可以定义语法有效的属性。

最新更新