我试图使用python 3,漂亮的汤和正则表达式字符串在html文档中找到以下<li>
元素。
<li style="text-indent:0pt; margin-top:0pt; margin-bottom:0pt;" value="394">KEANE J.
The plaintiff is a Sri Lankan national of Tamil ethnicity. While he was a
passenger on a vessel travelling from India to
Australia, that vessel ("the
Indian vessel") was intercepted by an Australian border protection vessel ("the
Commonwealth ship")
in Australia's contiguous
zone<span class="sup"><b><a name="fnB313" href="http://www.austlii.edu.au/au/cases/cth/HCA/2015/1.html#fn313">[313]</a></b></span>.
</li>
我尝试使用以下find_all
函数,该函数返回一个空列表。
html.find_all('li', string='KEANE J.')
我还尝试使用regex的find
函数,该函数返回一个无对象:
html.find('li', string=re.compile(r'^KEANE\sJ\.\s'))
如何在html文档中找到此元素?
答案 0 :(得分:1)
它与存在的元素有关吗?
当然,在这种情况下,除了文本节点,li
元素还有其他子元素。这在.string
paragraph:
如果某个代码包含多个内容,则不清楚
.string
应引用的内容,因此.string
定义为None
您可以做的是找到文本节点本身,然后获取其父级:
li = html.find(string=re.compile(r'^KEANE\sJ\.\s')).parent
print(li)