golang中怎么利用chromedp爬虫打开新标签页
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本篇文章给大家分享的是有关golang中怎么利用chromedp爬虫打开新标签页,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用chr
千家信息网最后更新 2025年02月04日golang中怎么利用chromedp爬虫打开新标签页
本篇文章给大家分享的是有关golang中怎么利用chromedp爬虫打开新标签页,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
使用chromedp爬虫时,如果点击属性为target="_blank"的a标签,上下文仍然停留在当前网页,需要使用其它的容器打开新页面。
package mainimport ( "context" "fmt" "github.com/chromedp/cdproto/target" "github.com/chromedp/chromedp" "log" "net/http" "net/http/httptest")func main() { ctx, cancel := chromedp.NewContext(context.Background()) defer cancel() ch := addNewTabListener(ctx) err := chromedp.Run(ctx, chromedp.Navigate("https://music.migu.cn/v3/music/player/audio"), chromedp.SetValue("#search_ipt", "输入要搜索的歌曲名", chromedp.ByID), chromedp.Click(`i[class="iconfont cf-nav-sousuo"]`, chromedp.BySearch), ) if err != nil { log.Fatal(err) } newCtx, cancel := chromedp.NewContext(ctx, chromedp.WithTargetID(<-ch)) defer cancel() var res string err = chromedp.Run(newCtx, chromedp.OuterHTML(`div[class="songlist-body"]`, &res, chromedp.BySearch), ) if err != nil { log.Fatal(err) } // 输出了新打开标签页的html fmt.Println(res)}/** * 注册新tab标签的监听服务 */func addNewTabListener(ctx context.Context) <-chan target.ID { mux := http.NewServeMux() ts := httptest.NewServer(mux) defer ts.Close() return chromedp.WaitNewTarget(ctx, func(info *target.Info) bool { return info.URL != "" })}
以上就是golang中怎么利用chromedp爬虫打开新标签页,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
标签
爬虫
更多
知识
篇文章
实用
上下
上下文
容器
就是
属性
工作会
文章
歌曲
看吧
知识点
网页
行业
详情
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
榆林软件开发网上价格
想学软件开发
小学生计算机网络安全
杭州软件开发价位
深圳公安网络安全平台
网络安全产业增长预期
专科大学学软件开发
人间地狱ps5版服务器
cmtds网络安全吗
使用网络技术哪家强
不能存入数据库的数据有哪些
服务器安全锁
网络安全科技上市
怀化棋牌软件开发公司
计算机网络技术大学排名
哪个国家不属于网络安全管控国家
axure 数据库连接
数据库下载软件开发
厦门鑫符号网络技术有限公司
宜宾软件开发定制
和田软件开发大学
命中我行高风险数据库
体现网络安全防护能力指标
网课教学软件开发商
无线 安全连接到服务器
mac 数据库
育碧服务器上不去咋办
软件开发实训项目有哪些
正睿服务器
沣东网络安全教育