parser = etree.HTMLParser()
tree = etree.parse(StringIO(input), parser)
for target in tree.findall("//tr[@class='error']"):
print target.tail
我想在此之后执行上面的代码
trclass="error"id="Testcase_5">
<tr class="error" id="Testcase_5"><td><a href="blabla">Hello</a></td><td>test</td><td>test</td> <td>test</td><td>Failed</td><td></td><td></td></tr>
然而,我得到的只是没有
答案 0 :(得分:0)
tail
是:
直接跟在元素之后的文本,直到XML树中的下一个元素
由于您的lxml
课程没有tr
以外的任何文字,我们只有一个元素,因此会返回<tr> .... </tr>
。
假设None
是:
input
然后输出为'<tr class="error" id="Testcase_5"><td><a href="blabla">Hello</a></td><td>test</td><td>test</td> <td>test</td><td>Failed</td><td></td><td></td></tr>i am the tail'
回到你的问题,如果要提取i am the tail
节点中的所有文本,你可以这样做:
<tr>
这将打印:
parser = etree.HTMLParser()
tree = etree.parse(StringIO(input), parser)
for target in tree.findall(".//tr[@class='error']"):
#print target.tail
print target.xpath("//text()")