goQuery
,它是
jQuery
的go版本实现。因为我没有了解过jQuery,我的个人理解前端排版都是会生成一个dom树,各个要显示的元素就一级一级“挂”在树上的某个位置,前端需要找到某个元素肯定需要一个快速定位的方法,肯定不能是对源代码进行文档搜索修改,
goQuery
就是把我们获得的响应里的页码字符串
frameHtml
重建回一个dom树,然后通过对树节点的描述去找到树上的节点。
举一个小小的例子,比如dom.Find("div.#chantor")
就是选择id名为chantor的div元素意思。
关于goQuery的选择器使用方法大家请看飞雪无情 golang goquery selector(选择器) 示例大全
注意:
goquery是基于 Go net/htm包和css选择器库 cascadia。由于net/htm解析器返回的是DOM节点,而不是完整的DOM树,因此, jQuery的状态操作函数没有实现(像height(), css(), detach)。
goquery只支持utf-8编码,其他编码需要转换。
在学习完飞雪无情的博文后,相信大家对goQuery也有了全面的了解(哈哈哈我好官方),goQuery在元素的关系中基本是父->子、兄->邻弟的思想,那假如我们需要根据一个元素定位它的父元素呢? 这个时候就不能用goQuery了(也有可能是我没有找到希望有大大指出),需要使用XPATH
选择器,在Selenium中可以使用这个选择器。关于XPATH
的教材网上一搜就是,比如https://www.w3school.com.cn/xpath/xpath_syntax.asp。