前段时间写了个自动化脚本来爬点数据,但是有一个页面的cookies是无法通过发送登录请求来获得的,于是只好使用selenium来加载出页面再获取那个页面的cookies,为了不想每次都打开浏览器页面,因此需要设置无头浏览器,网上查了很久资料特此记录一下解决方法。

func GetAdminCookies(URL string) string {//1.开启selenium服务//设置selium服务的选项,设置为空。根据需要设置。ops := []selenium.ServiceOption{}service, err := selenium.NewChromeDriverService("F:\\chromedriver.exe", 9515, ops...)if err != nil {fmt.Printf("Error starting the ChromeDriver server: %v", err)}//延迟关闭服务defer service.Stop()//2.调用浏览器//设置浏览器兼容性,我们设置浏览器名称为chromecaps := selenium.Capabilities{"browserName": "chrome",}//禁止图片加载,加快渲染速度imagCaps := map[string]interface{}{"profile.managed_default_content_settings.images": 2,}//设置实验谷歌浏览器驱动的参数chromeCaps := chrome.Capabilities{Prefs: imagCaps,Args: []string{"--headless", //设置Chrome无头模式},}//添加浏览器设置参数caps.AddChrome(chromeCaps)//调用浏览器urlPrefixvar wd selenium.WebDriverwd, err = selenium.NewRemote(caps, "http://127.0.0.1:9515/wd/hub")if err != nil {panic(err)}//延迟退出chromedefer wd.Quit()err = wd.Get(URL)//延迟两秒,等待cookies完全加载出来time2.Sleep(2 * time2.Second)cookies, err := wd.GetCookies()if err != nil {fmt.Println(err.Error())}//fmt.Println(cookies)Cookies := ""for _, item := range cookies {fmt.Println(item.Name, item.Value)Cookies = Cookies + fmt.Sprintf(`%s=%s;`, item.Name, item.Value)}return Cookies
}

其中想要设置无头浏览器,最关键的只是几行代码而已:

下面是ChromeOptions类可用的和最常用的参数列表:

start-maximized: 最大化模式打开

Chrome incognito: 无痕浏览打开浏览器

headless: 无头模式(后台运行)

disable-extensions: 禁用Chrome浏览器上现有的扩展

disable-popup-blocking: 禁用弹窗

make-default-browser: 设置Chrome为默认浏览器

version: 打印chrome浏览器版本

disable-infobars: 防止Chrome显示“Chrome正在被自动化软件控制”的通知

Golang + selenium 设置无头浏览器模式相关推荐

  1. java中selenium设置chrome浏览器为开发者模式与IP代理

    java中selenium设置chrome浏览器为开发者模式与IP代理 前言 代码 前言 之前为公司写了个爬虫项目,有时候为了绕过网站的反爬机制需要用到ip代理以及设置浏览器为开发者模式,看了一些se ...

  2. python爬虫之selenium,谷歌无头浏览器

    python爬虫之selenium和PhantomJS 主要的内容 lenium hantomjs 无头浏览器 的懒加载 一 什么是selenium? 介绍 它是python中的一个第三方库,对外提供 ...

  3. 基于Python, Selenium, Phantomjs无头浏览器访问页面

    引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输 ...

  4. [转载] 基于Python, Selenium, Phantomjs无头浏览器访问页面

    参考链接: Selenium Python技巧 引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通 ...

  5. selenium防爬无头浏览器和模拟手机浏览器

    在edge浏览器中使用webdriver时控制台中window.navigator.webdriver 元素会显示True,正常情况下来说应该是关掉的,所以我们用js来屏蔽掉这个元素 from sel ...

  6. python 无头浏览器多线程_基于Python, Selenium, Phantomjs无头浏览器访问页面

    引言: 在自动化测试以及爬虫领域,无头浏览器的应用场景非常广泛,本文将梳理其中的若干概念和思路,并基于代码示例其中的若干使用技巧. 1. 无头浏览器 通常大家在在打开网页的工具就是浏览器,通过界面上输 ...

  7. Selenium:设置无头浏览器

    在使用selenium执行测试用例时,每条用例执行过程中都会打开一个浏览器,如果用例数量过多时,每次运行均需要调用一次浏览器,增加了服务器压力,而无头模式就可以解决这种问题,他可以让运行速度更快,占用 ...

  8. selenium 配置无头浏览器

    from selenium.webdriver import Chrome from selenium.webdriver.support.select import Select #无头 from ...

  9. selenium无头浏览器_无头Selenium浏览器

    selenium无头浏览器 重要要点 无头浏览器无需用户界面即可运行. 不再支持PhantomJS. JBrowser驱动程序是Java 8的低开销选项. 如果需要Java 11支持,所有当前的Jav ...

  10. 无头浏览器 html5定位,5.2 使用浏览器无头模式执行Selnium脚本

    执行Selenium脚本时,我们往往不需要盯着电脑看脚本的执行情况,再或者我们的脚本可能被执行在一个无GUI的Linux机器上,那么这时我们都可以使用浏览器的Headless模式来执行. Headle ...

最新文章

  1. SQL2008-分页显示3种方法
  2. python在化学方面的应用-python化学库
  3. 共识协议(8)NPOS提名权益证明
  4. hssfworkbook 单元格合并后宽度不生效_Excel表格“假”合并,有多牛?
  5. 树状数组c语言模板,【树状数组】Cows (POJ2481) PASCAL 解题报告
  6. Linux命令修复方法,在Linux终端运行sudoedit -s /命令看未修复和已修复的效果
  7. SQL语法(1、安装操作)
  8. shopify二次开发教程_详细教程:如何将Shopify的Storefront API与React和Redux结合使用...
  9. hexo+github 一小时搭建个人博客
  10. Android第三十二期 - 辅助类Android
  11. 在Windows下使用安装并启动HDFView踩坑记录
  12. 【檀越剑指大厂--jvm】jvm总结
  13. android盒子改造,【当贝市场】废旧手机改造成电视盒子详细教程
  14. ICCMO微信公众账号开发系列(1)接入微信公众账号
  15. 从端到云——工业物联网项目全栈快速开发实践
  16. 计算机网络三大要素是,计算机网络安全的三大要素不包括?
  17. Image Pro Plus6进行荧光分析与荧光照片合成学习笔记
  18. 如何把带图片html转为doc,教您一招:如何将图片里面的文字转成word格式并能编辑...
  19. 【以太坊】ubuntu安装以太坊ethereum的测试网络ropsten-net以及雷电网络raiden-network环境
  20. 无源晶振电路设计和改进

热门文章

  1. 圣经闪卡 - Holy Bible Flash Cards
  2. 小米浏览器地址栏欺骗漏洞原理与利用分析
  3. 火星开发板_数据科学家来自火星,软件开发人员来自金星
  4. 从“外行”到“里手”,长沙企业“力量矩阵”开始觉醒
  5. 5gwifi信道哪个最好,wifi信道在哪里设置如何检测哪个路由器信道最快
  6. android wifi分析 实现原理,解析android 流量监测的实现原理
  7. 【精选】那些莫名其妙但又不得不服的经济学/社会学/心理学著名定律/效应
  8. 高标清上下变换器的测试评估及应用研究
  9. 这些年用过的iOS测试框架
  10. SmartMesh WireLess HART 资料总结