我希望提取elementB
,然后在元素C
和D
之前停止 - 也就是说,不要提取.text
内容elementC
和{ {1}}。但是,我只知道如何使用elementD
忽略Contents().Not
来提取整个div文本,但仍然会捕获elementC
。
以下是我目前使用的代码:
GoLang:
elementD
忽略了capturedText := s.Find("div").Contents().Not(".label").Text()
,但忽略了没有外部标记的elementC
。
HTML:
elementD
如何仅捕获<li><span><h2>elementA</h2></span><div>elementB<br><span class="label">elementC</span>elementD</div></li>
elementB
,而不是<div>
和elementC
?
修改
我试过像这样关闭div标签:
elementD
并尝试过:
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>
。
解决此问题的适当方法是什么?
答案 0 :(得分:0)
由于我无法使用“已损坏”节点编辑HTML,因此我选择了此选项:
DropdownButton