我有一个html表,我试图找到一行有一个href标记,其文本内容中有“Unsubscribe”一词。我正在使用lxml、python和xpath—我可以使用以下命令找到行:
row_to_find = table.xpath("//tr[contains(descendant::*, 'Unsubscribe')]")[0]
但是上面的a href中找不到这个。。下面的方法不起作用。。你知道吗
row_to_find = tables.xpath(".//tr/*/a[contains(text(), 'Unsubscribe')]")
Tags:
这两种方法都可以:
第一种说法是,“找到一个
<a>
,它的文本是‘Unsubscribe’,然后找到它的祖先<tr>
元素。”第二种说法是,“在任何地方找到一个
<tr>
,但前提是它的后代<a>
带有文本‘Unsubscribe’”如果您的表本身被包装在另一个表中,并且因此有另一个
<tr>
与这个非常松散的条件匹配,那么这两个表都会给您带来误报。你可以通过提供一个更精确的路径来收紧它…或者(对于第一个)指定只需要第一个(最接近的)
<tr>
:相关问题 更多 >
编程相关推荐