package main
import (
"fmt"
"log"
"strconv"
"strings"
"github.com/PuerkitoBio/goquery"
)
func findByEle(htmlDoc string) {
dom, err := goquery.NewDocumentFromReader(strings.NewReader(htmlDoc))
if err != nil {
log.Fatalln(err) // 输出并退出程序
}
// 1.元素选择器
dom.Find("div").Each(func(i int, s *goquery.Selection) {
fmt.Println("i", i, "选中的文本", s.Text())
})
// 2.ID选择器
dom.Find("#div1").Each(func(i int, s *goquery.Selection) {
fmt.Println("i", i, "选中的文本", s.Text())
})
dom.Find("div#div1").Each(func(i int, s *goquery.Selection) {
fmt.Println("i", i, "选中的文本", s.Text())
})
// 3.class类选择器
dom.Find(".c1").Each(func(i int, s *goquery.Selection) {
fmt.Println("i", i, "选中的文本", s.Text())
})
dom.Find("div.c1").Each(func(i int, s *goquery.Selection) {
fmt.Println("i", i, "选中的文本", s.Text())
})
}
func main() {
/*
文档解析库 goquery
*/
htmlDoc := `
<body>
<div id="div1">d1</div>
<div class="c1">d2</div>
<span>s1</span>
</body>
`
findByEle(htmlDoc)
}