AttributeError: 'lxml.etree._ElementUnicodeResult' object has no attribute 'get'
时间: 2023-07-24 21:10:35 浏览: 121
这个错误通常是因为XPath表达式返回的结果不是一个Element对象,而是一个字符串对象。您可以尝试使用`lxml`库来解析HTML并执行XPath查询。下面是一个示例代码:
```python
from lxml import etree
html = '''
<html>
<body>
<div id="Janchor">
<p>
<a href="https://www.example.com">Link 1</a>
<a href="https://www.example.com">Link 2</a>
</p>
</div>
</body>
</html>
'''
tree = etree.HTML(html)
links = tree.xpath('//div[@id="Janchor"]//p/a/@href')
for link in links:
print(link)
```
这段代码首先导入了`lxml`库的`etree`模块,然后将HTML代码传递给`etree.HTML()`函数来创建一个解析树对象。接下来,我们使用`xpath()`方法和XPath表达式`//div[@id="Janchor"]//p/a/@href`来选择id为"Janchor"的div下p标签中的所有带有href属性的a标签的href属性值。最后,我们遍历这些链接并打印出它们的值。
请确保您已经安装了`lxml`库,并将上述代码中的HTML内容替换为您实际需要处理的HTML内容。