GoLang - GoQuery HTML插入失败

时间:2017-02-09 16:47:28

标签: html go goquery

我希望提取elementB,然后在元素CD之前停止 - 也就是说,不要提取.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>

解决此问题的适当方法是什么?

1 个答案:

答案 0 :(得分:0)

由于我无法使用“已损坏”节点编辑HTML,因此我选择了此选项:

DropdownButton