我希望提取elementB
,然后在元素C
and之前停止D
- 即不提取.text
内容elementC
and elementD
。但是,我只知道如何提取整个 div 文本,使用Contents().Not
to ignore elementC
,但elementD
仍然被捕获。
这是我目前正在使用的代码:
语言:
capturedText := s.Find("div").Contents().Not(".label").Text()
忽略elementC
,但不忽略 ,elementD
它没有外部标签。
HTML:
<li><span><h2>elementA</h2></span><div>elementB<br><span class="label">elementC</span>elementD</div></li>
如何仅捕获elementB
of <div>
,而不捕获elementC
and elementD
?
编辑:
我试过像这样关闭 div 标签:
s.Find(".label").BeforeHtml(`</div>`)
并尝试过:
s.Find(".label").BeforeHtml(`</div><div>`)
并访问第一个div
,忽略div
现在应该具有的第二个elementD
:
jp, _ := s.Find("div").First().Html()
但是,这是行不通的。似乎它</div>
不能是一个打开的标签 - 它需要<div>...</div>
正确插入。但这不是我需要的,我只需要</div>
或正确</div><div>
关闭第一个div
。
解决此问题的适当方法是什么?