什么是无头浏览器?用Go模拟用户操作、实现网页浏览和截图|环球快播
本文介绍了如何使用Golang实现无头浏览器截图的功能。通过使用chromedp和rod库,可以方便地控制浏览器进行
2023-05-20本文介绍了如何使用Golang实现无头浏览器截图的功能。通过使用chromedp和rod库,可以方便地控制浏览器进行截图、模拟用户操作等功能。
在Web开发中,有时需要对网页进行截图,以便进行页面预览、测试等操作。
而使用无头浏览器来实现截图功能,可以避免手动操作的繁琐和不稳定性。
(资料图)
这篇文章将介绍:使用Golang进行无头浏览器的截图,轻松实现页面预览、测试和模拟用户操作。
无头浏览器(Headless Browser)是一种没有图形用户界面的浏览器,它可以在后台运行,并通过编程接口来控制和操作浏览器。
无头浏览器通常用于自动化测试、网页截图、爬虫等场景,可以帮助我们更方便地进行网页操作和数据采集。
常见的无头浏览器包括Chrome Headless、PhantomJS、Puppeteer等。
在Golang中,可以使用chromedp和rod等库来实现无头浏览器截图的功能。
使用Golang实现无头浏览器截图可以在很多场景下发挥作用,以下是一些常见的场景:
网页截图:使用无头浏览器可以方便地对网页进行截图,可以用于生成网页快照、监控网页变化等。自动化测试:使用无头浏览器可以模拟用户操作,可以用于自动化测试、自动化部署等。网页爬虫:使用无头浏览器可以模拟浏览器行为,可以用于网页爬虫、数据采集等。数据分析:使用无头浏览器可以获取网页数据,可以用于数据分析、机器学习等。chromedp是一个基于Chrome或Chromium浏览器的DevTools协议的库,可以方便地控制浏览器进行截图、模拟用户操作等功能。
以下是使用chromedp库实现无头浏览器截图的示例代码:
package mainimport ( "context" "io/ioutil" "log" "time" "github.com/chromedp/cdproto/page" "github.com/chromedp/chromedp")func main() { // 创建一个上下文 ctx, cancel := chromedp.NewContext(context.Background()) defer cancel() // 设置浏览器选项 opts := append(chromedp.DefaultExecAllocatorOptions[:], chromedp.Flag("headless", true), chromedp.Flag("disable-gpu", true), chromedp.Flag("no-sandbox", true), chromedp.Flag("disable-dev-shm-usage", true), chromedp.Flag("remote-debugging-port", "9222"), ) allocCtx, cancel := chromedp.NewExecAllocator(ctx, opts...) defer cancel() // 创建一个浏览器实例 ctx, cancel = chromedp.NewContext(allocCtx) defer cancel() // 导航到指定的URL var buf []byte err := chromedp.Run(ctx, chromedp.Navigate("https://www.baidu.com"), chromedp.Sleep(2*time.Second), chromedp.ActionFunc(func(ctx context.Context) error { // 获取页面截图 var err error buf, err = page.CaptureScreenshot().WithQuality(90).WithClip(&page.Viewport{X: 0, Y: 0, Width: 1920, Height: 1080, Scale: 1}).Do(ctx) if err != nil { return err } return nil })) if err != nil { log.Fatal(err) } // 将截图保存到文件 err = ioutil.WriteFile("screenshot.png", buf, 0644) if err != nil { log.Fatal(err) }}
这段代码使用chromedp库创建了一个无头浏览器实例,并导航到百度首页。
然后使用page.CaptureScreenshot()函数获取页面截图,并将截图保存到screenshot.png文件中。
screenshot.png
把我上面的代码复制到main.go文件中,安装依赖直接运行即可:
go mod tidygo run main.go
执行效果如下:
需要注意的是,使用chromedp库需要先安装Chrome或Chromium浏览器,并将其添加到系统的环境变量中。
rod是另一个基于Chrome或Chromium浏览器的DevTools协议的库,可以方便地控制浏览器进行截图、模拟用户操作等功能。
以下是使用rod库实现无头浏览器截图的示例代码:
package mainimport ( "github.com/go-rod/rod" "github.com/go-rod/rod/lib/proto" "github.com/go-rod/rod/lib/utils" "github.com/ysmood/gson")func main() { page := rod.New().MustConnect().MustPage("https://baidu.com").MustWaitLoad() //简单模式,默认截图设置 page.MustScreenshot("my.png") //自定义截图设置 img, _ := page.Screenshot(true, &proto.PageCaptureScreenshot{ Format: proto.PageCaptureScreenshotFormatJpeg, Quality: gson.Int(90), Clip: &proto.PageViewport{ X: 0, Y: 0, Width: 300, Height: 200, Scale: 1, }, FromSurface: true, }) _ = utils.OutputFile("my.jpg", img)}
这段代码使用rod库创建了一个无头浏览器实例,并导航到百度首页。
然后使用page.MustScreenshot()函数获取页面截图,并将截图保存到my.png文件中。
同样演示了使用page.Screenshot自定义截图,并将自定义截图保存到了my.jpg文件中。
需要注意的是,使用rod库需要先安装Chrome或Chromium浏览器,并将其添加到系统的环境变量中。
rod库示例代码的运行方式和chromedp基本一致,略有区别的是我们需要根据提示,运行多次go run main.go安装需要的插件:
碰到上面提示不用慌,再执行一次go run main.go即可
执行效果如下:
再强调一遍,不管是使用chromedp库还是rod库,都需要先安装Chrome或Chromium浏览器,并将其添加到系统的环境变量中。
我文章中的演示是基于Mac OS。
本文介绍了如何使用Golang实现无头浏览器截图的功能。
通过使用chromedp和rod库,可以方便地控制浏览器进行截图、模拟用户操作等功能。
使用Golang实现无头浏览器截图的优势包括:
高效性:Golang是一种高效的编程语言,可以快速地处理大量数据和请求。
可扩展性:Golang具有良好的可扩展性,可以方便地扩展和修改代码。
跨平台性:Golang可以在多个平台上运行,可以方便地进行跨平台开发和部署。
安全性:Golang具有良好的安全性,可以有效地防止代码注入和攻击。
综上所述,使用Golang实现无头浏览器截图可以在很多场景下发挥作用,具有高效性、可扩展性、跨平台性和安全性等优势。
本文转载自微信公众号「 程序员升级打怪之旅」,作者「王中阳Go」,可以通过以下二维码关注。
转载本文请联系「 程序员升级打怪之旅」公众号。
标签:
本文介绍了如何使用Golang实现无头浏览器截图的功能。通过使用chromedp和rod库,可以方便地控制浏览器进行
2023-05-20解答:1、在我人生的道路上,我经历了许多风雨和困惑,但你一直在我身边,指引我方向,给我力量。父亲节,
2023-05-20今天来聊聊关于副官是什么职位古代,副官是什么职位的文章,现在就为大家来简单介绍下副官是什么职位古代,
2023-05-19原文出自:https: www warhammer-community com 2023 05 10 darius-hinks-interview-what-happens-in-the-
2023-05-191、电视画面断断续续的一般原因和处理方法:2、检查电视机的信号源输入是否正常、稳定;因为信号源输入不稳
2023-05-1921世纪经济报道记者边万莉北京报道近年来,科技与金融不断融合,金融数字化进程快速发展,中小银行金融数字
2023-05-19北京市经济和信息化局5月19日公布北京市通用人工智能产业创新伙伴计划。其中提到,推出一批高质量训练数据
2023-05-19国网辽宁电力开展10千伏分段式旁路带电检修,5月12日,国网辽宁省电力有限公司采取旁路系统设备和材料多元化
2023-05-19周口日报全媒体记者沈铎5月18日,西北工业大学电子信息学院副院长姚如贵教授、西北工业大学河南招生组郗润
2023-05-19科汇股份5月19日在投资者互动平台表示,公司已陆续在山东、江苏等地实施落地光储一体化绿色电站项目,运行
2023-05-19近期,江苏南通农商银行披露2022年度信息披露报告。截至2022年末,该行合并口径下资产总额802 28亿元,较上
2023-05-19记者李殷婷5月19日,山东省政府新闻办召开新闻发布会,介绍山东生物多样性保护工作情况。农业野生植物在长
2023-05-19人民日报北京5月18日电(记者王昊男)记者今天从2023中关村论坛新闻发布会上了解到,作为2023中关村论坛的5
2023-05-19教育就是过好日子他们是乡村教师发展的“主力军”---5月16日,省教育学会副会长兼秘书长张祖春、湖北省...
2023-05-19中国驻澳大利亚大使肖千18日举行中澳媒体吹风会时说,当前中澳关系保持着良好的改善势头,中方愿同澳方一道
2023-05-195月19日盘中消息,14点2分*ST雪发(002485)触及涨停板。目前价格3 68,上涨5 14%。其所属行业服装家纺目前
2023-05-19高原夏菜播种忙 订单种植促增收新甘肃·甘肃日报记者 田丽媛 通讯员 李鼎时下,正是高原夏菜耕种的...
2023-05-19南财金融终端显示,截至上午收盘,上证指数涨0 13%,深证成指涨0 51%,创业板指涨0 54%。下跌方面,教育板
2023-05-19研究机构TrendForce日前表示,2023年1-4月,全球MLCC厂商总出货量约13,590亿颗,较2021年同期下滑34%。
2023-05-19安徽:1-4月房地产开发投资下降15 3%-据安徽省统计局消息,1-4月份,全省固定资产投资增长6 4%,比全国高1
2023-05-19快递员会有的高温补贴。每年6月至10月期间,新业态企业应参照我省有关规定向符合条件的新业态劳动者(如外
2023-05-19央视网消息:近日,“闪亮的名字——2023最美家庭发布仪式”在央视科教频道播出。在发布仪式中,共有10...
2023-05-19文丨温柔崔美人关注我,每天接收两性关系文章!她把你视作心中的宝,深深喜欢着你,但是无法用直接的方式将
2023-05-19【行情】纯碱主力合约日内一度大跌7 00%,纯碱2306合约触及跌停。
2023-05-19时间:5月16日地点:罗山街道后林社区天气:晴今日,烈日炎炎,阳光刺眼。来到后林,我一眼便看见了社区党
2023-05-191、意思是我想你留下来。2、作为网络语言使用,亦可作为网名,QQ名,微信名使用。3、2istay是Iwantyou
2023-05-19解答:1、一个有耐心的人用手轻轻地捏。2、用湿毛巾或海绵裹住磨脚部位。3、在湿毛巾上洒上酒精或白酒,然
2023-05-19对于大一寸和小一寸的区别这个问题感兴趣的朋友应该很多,这个也是目前大家比较关注的问题,那么下面小好小
2023-05-191、不是在翡翠营地前面还有个人给任务完成她的任务你就可以从她那得到一个道具然后打森林里的怪物就会给你
2023-05-19欢迎观看本篇文章,小升来为大家解答以上问题。关于冰心的作品,分别描写了什么很多人还不知道,现在让我们
2023-05-19欢迎观看本篇文章,小升来为大家解答以上问题。神农架必去5个景点,去神农架旅游不可错过的5个景点很多人还
2023-05-191、将u盘连接到电脑上,然后在我的电脑中找到u盘图标,点击右键,选择“属性”,如下图所示:2、在u盘属...
2023-05-185月16日,意大利奢侈品时尚品牌BottegaVeneta入驻京东,同时BottegaVeneta葆蝶家京东官方旗舰店全面开启运营,带来包
2023-05-18奥运选拔方式有深意,陈幸同尴尬了,肖战不给参赛机会单打难上位,肖战,国乒,陈幸同,奥运会,林高远,世乒赛,
2023-05-18在关键位置,恒指顶住了压力,空头确实不敢发力过猛。
2023-05-18大米1杯,元贝3粒,鸡胸肉150克,香菇4片,马蹄5粒,葱花少许调味料,料酒1大匙,盐1/4茶匙,淀粉少许,
2023-05-18据四川省南充市南部县公安局,5月18日10时许,南部县发生一起故意伤人案件。雍某某(男,21岁,南部县人)
2023-05-18最佳答案室内潮湿环境属于二A类环境类别。室内潮湿环境是指非严寒和非寒冷地区与无侵蚀性的水或土壤直接接
2023-05-18关于孕妇炖鸽子汤里面可以放什么最好的内容,包含孕妇鸽子汤放什么材料好孕妇炖鸽子汤放什么最营养
2023-05-18《GTA》发行商Take-Two最新回应了关于PS5Pro和新一代Xbox主机的传言。到目前为止,PS5pro的传言已经存在许
2023-05-18央视网消息:财政部5月18日发布1月—4月财政收支情况。1月—4月累计,全国一般公共预算收入83171亿元,...
2023-05-18【ITBEAR科技资讯】5月18日消息,据ITBEAR科技资讯了解,微软近日发布了一则关于Windows11新版照片应用的重
2023-05-18截至2023年5月18日收盘,东方铁塔(002545)报收于7 9元,下跌0 13%,换手率0 36%,成交量4 1万手,成交额3243 65万元。
2023-05-18观点网讯:5月17日,据大连市自然资源局旅顺口分局公告,大连市旅顺口区第2批次土地征收成片开发方案已公示
2023-05-18津云新闻讯:5月17日,第七届世界智能大会平行论坛数字赋能制造峰会暨中材国际首届水泥绿色智能发展峰会在
2023-05-18参考消息网5月17日报道俄罗斯《观点报》网站5月16日发表俄财经大学副教授格沃尔格·米尔扎扬的文章,题...
2023-05-18格隆汇5月18日丨万达电影(002739 SZ)于2023年5月17日15:00-16:30召开2022年度网上业绩说明会,问答环节中,
2023-05-18为进一步做好防返贫致贫工作,近日,鹤壁市鹤山区鹤壁集镇通过开展防止返贫监测对象申报政策明白纸”张...
2023-05-181、孙红雷发文纪念:影迷会成立17周年生日快乐,孙写奏章的时候发生了什么?3月21日,孙写下的追悼词登上热
2023-05-185月17日,通达海(301378)融资买入193 17万元,融资偿还199 08万元,融资净卖出5 91万元,融资余额2506 18万元。
2023-05-18企查查APP显示,5月18日,北京互联网法院向杨某、肖某某公告送达杨洋诉其网络侵权责任纠纷一案起诉状副本、
2023-05-18初夏来临,在青葱翠绿的翠屏大地上,点缀着点点“蓝光”,它们是生长在街道旁、公园里的蓝花楹。美丽的...
2023-05-18始于初见止于终老什么意思的文案,始于初见止于终老什么意思这个很多人还不知道,现在让我们一起来看看吧!1
2023-05-18小米civi212GB+256GB2599小米Civi2十分轻盈,握着更舒适。这款手机主打影像拍摄,采用3200万+3200万像素的
2023-05-18快手小店运营工作总结第1篇我于20xx年xx月xx日加入公司,入职为一名运营专员,到今天终于完成了公司的考核
2023-05-18现代快报网是由凤凰出版传媒集团旗下的现代快报倾力打造的江苏新闻门户网站,目前在南京、苏州、无锡、常州
2023-05-18e公司数据统计显示,5月17日北向资金单日净买入16 86亿元,其中沪股通净买入5 74亿元,深股通净买入11 12亿
2023-05-18近日的戛纳电影节的红毯上出现了很多中国艺人的身影,引发了很多关注。戛纳还有个外号毯纳,红毯热度确实不
2023-05-18活动时间:2023年5月18日上午10:00直播入口:点击进入为深入挖掘先农坛历史文化内涵,展示耤田历史风貌,提
2023-05-18近日,有网友爆料称,快团团大团长“糯米福利社”被公安介入调查,原因是“卖假货”。公开资料显示,糯...
2023-05-18老掉牙也好,找偏门也好,讲了个好故事。很庆幸当年没有随随便便追完。。任何感情都要影响现实,才能丰满人
2023-05-18微美芒市—芒市具有影响力的公众号想在咖啡时光和青年企业家面对面交流吗?想了解文创、自由美术工作者...
2023-05-175月17日,出席中国-中亚峰会的哈萨克斯坦总统托卡耶夫、塔吉克斯坦总统拉赫蒙、吉尔吉斯斯坦总统扎帕罗夫乘
2023-05-17第二十一届世界制药原料中国展暨第十六届世界制药机械、包装设备与材料中国展将于6月19-21日在上海举行。5
2023-05-171、大仲马的风格是高度的理想主义,浪漫主义小仲马更注重写实。2、2、小仲马是大仲马的儿子。3、亚历山...
2023-05-17韩国驻渖阳总领事馆17日表示,已与日前被刑事拘留的韩国国家足球队选手孙准浩进行了领事面谈。 韩联社据
2023-05-17三国时期是一个个才华横溢的谋臣们交相辉映的时代。但因为某些原因,其建议没能实施,没能影响到天下大势,
2023-05-17证券时报网讯,最高人民检察院日前通报的一则案例显示,短短两年多时间,以吴某为首的操纵证券市场犯罪团伙
2023-05-17新华社北京5月17日电(记者潘洁、谢希瑶)商务部17日发布数据显示,今年1至4月,全国实际使用外资金额4994
2023-05-17智通财经APP讯,汇丰控股(00005)公布,公司已于2023年5月15日根据2011年汇丰股份计划,向董事、僱员及前僱
2023-05-17本文内容纯属虚构本文内容无任何恶意,无人身攻击……辛苦审核大大了,求不要…… 林言是一...
2023-05-17北京时间5月17日,就在季后赛如火如荼进行的时候,文班亚马争夺迎来了大结局,马刺拿到了状元签,尽管选秀
2023-05-17冰点文库下载器是一款文档免费下载工具,很多小伙伴都在使用这个应用,最近有用户反馈冰点文库出现数据解析
2023-05-17大象新闻
2023-05-17日前,一汽-大众ID 7VIZZION续航里程正式曝光,新车将搭载84 8度三元锂电池,匹配最大功率150kW后轴单电机
2023-05-17世卫组织建议勿用非糖甜味剂控制体重世界卫生组织15日发布一份关于非糖甜味剂的新指南,建议不要使用安赛蜜
2023-05-17泰山街道天景社区(含浦东花园、泰山花苑、钟表材料厂宿舍、玫瑰花园、金泉泰来苑、玉澜府、南京麒麟交通技
2023-05-17大家好,今日关于【曾轻生的网红“狗头萝莉”转行卖煎饼】的话题登上了各大平台的热搜榜,受到全网的关...
2023-05-17不小心逾期了上征信了怎么办?信用卡逾期怎么协商停息挂账?下面是小编整理的一些相关信息,一起来看看吧!
2023-05-171、“橡树”有两个读音,分别是[l]和[yu]。通常指树和地名。2、Oak[l]指一棵树。橡树[Lsh]落叶乔木,叶长椭
2023-05-17中国报告大厅2023年5月17日硫化钠价格最新走势监测显示:江西鑫茂化工有限公司报价机构,今日硫化钠(含量6
2023-05-17据通辽市气象局相关工作人员介绍,针对此次天气过程,通辽市气象台发布强对流蓝色预警1期,冰雹橙色预警信
2023-05-171、好的导师不见的就是最适合你的导师,建议你最好去学校网站上看看每个老师的资料及研究方向,根据自己的
2023-05-175月14日,北京首钢篮球中心,回浦中学队庆祝夺冠。中国中学生体育协会供图5月14日,北京首钢篮球中心,回浦
2023-05-17这个想法得到了村委会的大力支持,安装好栅栏后,村委会买来了月季,许多村民都主动来帮忙种植。聊着聊着,
2023-05-17从5月16日12时起,我国海河、辽河、松花江流域,即华北东北三大流域开启为期两个半月的禁渔,这标志着今年
2023-05-17如何为无味蜡烛添加香味蜡烛以柔和的光线和可爱的香味为房间增添气氛,但当它们没有香味时,您只能获得一半
2023-05-17海报新闻记者丛萍李义方济南报道连日以来,多家银行官宣下调存款利率。5月16日,海报新闻记者在济南走访了
2023-05-17Datawhale干货作者:平凡@知乎,诺桑比亚大学,在读博士今天晚上,花了一点儿时间看了两篇文章:《Emergent
2023-05-17旅游社交网站,关于旅游社交网站介绍这个很多人还不知道,现在让我们一起来看看吧!1、旅游社交网站是社交网
2023-05-171、2020秋季部编人教版六年级语文上册教学计划(含进度表、教学大纲)一、班级情况分析本学期,我执教的六
2023-05-171、单核细胞是白细胞分类和计数中的一种类型。2、单核细胞绝对值高,需要结合单核细胞计数是否高来分析。3
2023-05-17货币行情走势分析:根据欧盟统计局今天公布的第二次估计,与上一季度相比,经季节性调整的第一季度GDP在欧
2023-05-16小伙伴们,你们好,今天小夏来聊聊一篇关于魏生民,关于魏生民简述的文章,网友们对这件事情都比较关注,那
2023-05-161、睡眠质量要有保证。2、睡觉是一种自然有效的祛斑方式。经常熬夜,睡眠不足,会加速皮肤衰老,加重黑色素
2023-05-16“嗯 ”你忍不住发出娇chēn,在酒店房间被他摁在门板上亲,这是跟你仅见过一面的田柾国。“没想到...
2023-05-16吉林省2023年中级会计报名费用标准为:考试费每人每科44元,考务费每人每科6元,合计每人每科50元。吉林省2
2023-05-16瑞能半导任命邬睿、沈鑫为公司副总经理2022年公司净利1 16亿2023 5 1618:45:22挖贝网丁易涵挖贝网5月16日,
2023-05-16国家统计局数据显示,2022年1—12月份,全国水泥产量21 3万吨,同比下降10 5%。另据统计,2022年水泥熟料产
2023-05-165月16日,长三角生态绿色一体化发展示范区执委会会同水利部太湖流域管理局,两省一市三级八方水利(务)部
2023-05-16Copyright © 2015-2022 热讯水产网版权所有 备案号:豫ICP备20005723号-6 联系邮箱:29 59 11 57 8@qq.com