selenium相信大家都不陌生,从最开始的selenium core到现在的RC,利用selenium能干的事情也越来越多。也用go+selenium写了一些小工具,测试了一下各大网站关注好友的接口~

这里先介绍下用到的库:

https://github.com/tebeka/selenium

接下来可以试试先运行提供的example:

作者提供的example是在linux下运行,如果要在windows下需要做一些调整:

1.webdriver,selenium路径:

2. 屏蔽FrameBuffer

分享一下,自己写的demo,打开百度,输入selenium,点击搜索:

package mainimport ("fmt""github.com/tebeka/selenium""io/ioutil""os""os/signal""syscall"
)var (sigs chan os.Signal
)func init() {sigs = make(chan os.Signal, 1)signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
}
func main() {const (// These paths will be different on your system.seleniumPath = "./vender/selenium-server-standalone-3.8.1.jar"geckoDriverPath = "./vender/geckodriver.exe"port            = 8080)opts := []selenium.ServiceOption{selenium.GeckoDriver(geckoDriverPath), // Specify the path to GeckoDriver in order to use Firefox.selenium.Output(ioutil.Discard),            // Output debug information to STDERR.}selenium.SetDebug(false)service, err := selenium.NewSeleniumService(seleniumPath, port, opts...)if err != nil {panic(err) // panic is used only as an example and is not otherwise recommended.}defer service.Stop()// Connect to the WebDriver instance running locally.caps := selenium.Capabilities{"browserName": "firefox"}wd, err := selenium.NewRemote(caps, fmt.Sprintf("http://localhost:%d/wd/hub", port))if err != nil {panic(err)}defer wd.Quit()// Navigate to the simple playground interface.if err := wd.Get("https://www.baidu.com/"); err != nil {panic(err)}wd.SetImplicitWaitTimeout(4)input,err:=wd.FindElement(selenium.ByCSSSelector,"#kw")if err!=nil{panic(err)}input.SendKeys("selenium")search,err:=wd.FindElement(selenium.ByCSSSelector,"#su")if err!=nil{panic(err)}search.Click()<-sigs
}

需要用到的jar,exe文件下载地址:

Selenium: https://selenium-release.storage.googleapis.com/3.8/selenium-server-standalone-3.8.1.jar

Webdriver: https://github.com/mozilla/geckodriver/releases/download/v0.23.0/geckodriver-v0.23.0-win64.zip

GO+Selenium批量关注各大网站实战 1 (基础+demo)相关推荐

  1. GO+Selenium批量关注各大网站实战 3 (开发者头条号)

    这次实战的网站是开发者头条. 主要实现的功能有3个, 批量关注好友,批量收藏文章,批量订阅独家号. 先看关注好友: 网站用户的个人主页: 可以看出,地址路由采用的是最后的id递增.(这在网站开发中很普 ...

  2. GO+Selenium批量关注各大网站实战 2 (今日头条,批量关注)

    作为第一个练习,我选择的是今日头条批量关注好友这个功能. 今日头条每天关注量有200人限制,满了再点击关注,就会提示已达上限.所以我刷了几天,现在是4600个人~ 我们先来讲讲思路: 1. 登录自己的 ...

  3. 初出茅庐的小李第114篇博客项目笔记之机智云智能浇花器实战(3)-基础Demo实现

    机智云智能浇花器实战(3)-基础Demo实现 链接:机智云智能浇花器实战(2)-基础Demo实现 BH1750光照传感器原理图 BH1750传感器代码 #include "bh1750.h& ...

  4. 初出茅庐的小李第113篇博客项目笔记之机智云智能浇花器实战(2)-基础Demo实现

    初出茅庐的小李第112篇博客项目笔记之机智云智能浇花器实战(1)-基础Demo实现 接(1) 继电器实现 继电器原理图 继电器采用的是5V继电器,控制端是RELAY-1 继电器代码实现 #includ ...

  5. 【Io开发笔记】机智云智能浇花器实战(1)-基础Demo实现

    一,系统总计设计 该系统主要由三个部分组成:传感执行部分.无线通信部分,机智云自助开发平台部分.传感执行部分由主控单元.显示单元.和存储单元共同组成.传感检测部分采集空气环境参数信息,并且实时处理采集 ...

  6. 初出茅庐的小李第112篇博客项目笔记之机智云智能浇花器实战(1)-基础Demo实现

    项目文件夹框架 API文件夹---------------------------------------放置各种传感器驱动代码文件夹 CMSIS文件夹------------------------ ...

  7. Web2.0时代最值得网民们关注的十大网站(2006年)

    Web2.0时代最值得网民们关注的十大网站 http://www.sina.com.cn 2006年09月20日 17:37 赛迪网 在Web2.0革命浪的潮中,技术与创新成为互联网的灵魂.虽然目前国 ...

  8. python 爬虫 微博 github_GitHub 热门:各大网站的 Python 爬虫登录汇总

    原标题:GitHub 热门:各大网站的 Python 爬虫登录汇总 (给数据分析与开发加星标,提升数据技能) 转自:机器之心,GitHub 作者:CriseLYJ 不论是自然语言处理还是计算机视觉,做 ...

  9. wordpress 大网站_加快您的WordPress网站

    wordpress 大网站 This article was sponsored by GoDaddy. Thank you for supporting the companies who make ...

  10. 工资8000以下的程序员注意了:《零coding数据大屏实战宝典.pdf》

    马云曾说:"整个世界将变成数据,这还只是数据时代的开始.新浪潮即将来临,很多就业机会将被夺走.有些人会赶上潮流,变得富有和成功.但是对那些落后的人,未来将是痛苦的. 大数据从2013年一路发 ...

最新文章

  1. 【原创】gooogleman亲自参与设计的三星Cortex A8 S5pv210 之Sate210核心板硬件用户手册(作者:gooogleman)...
  2. shiro 解决 跨域(仅端口不同) 登陆 问题
  3. 在VM虚拟机Windows Server r2上部署安装Microsoft Dynamics CRM 2016 步骤详解(一)
  4. Windows Phone开发(35):使用Express Blend绘图 转:http://blog.csdn.net/tcjiaan/article/details/7493010...
  5. 洛谷P2746 [USACO5.3]校园网Network of Schools
  6. 移动开发者周刊第一期,大家收到了么?
  7. hdu2846(字典树)
  8. 交互题[CF1103B Game with modulo、CF1019B The hat、CF896B Ithea Plays With Chtholly]
  9. WinCE中为基于对话框的程序动态增加菜单
  10. SSH框架下的表单重复提交
  11. 基于Linux操作系统的在线英英词典C语言代码
  12. ip domain-lookup命令解释
  13. 锚具ovm是什么意思_OVM锚具
  14. 谷粒商城九商品服务之商品属性及仓储服务todo
  15. 【科创人南京行】西祠胡同创始人“响马”刘琥:一生寻找精神绿林,减区块链也许是正确方向...
  16. ARCGIS制作图中图——小图/一幅多图
  17. python爬虫爬取王者荣耀官网全部英雄头像(源码分享)
  18. 怎样才能把一个代码变成软件成品?一个初学者的困惑,我们写的代码都只能是解决一些数学问题而已。怎么把它变成一个软件。
  19. 你所不知道的良心网站第一弹
  20. C语言 数组插入 – 插入法排序(顺序版)

热门文章

  1. windows彻底永久关闭自动更新的方式
  2. Error occurred during initialization of VM 解决
  3. [BZOJ2827]千山鸟飞绝
  4. MongoDB分组查询数据库sql
  5. 剖析Linux的守护神
  6. [CSP-S模拟测试]:跳房子(模拟)
  7. 计算器linux源码,强悍的C++程序实现计算器的linux源程序(国外英文资料).doc
  8. 使用Bmob云端代码开发微信公众平台教程
  9. html5单行文本框属性,文本框list属性和文本框autocomplete属性
  10. 灯的开关状态 :有 N 个灯放在一排,从 1 到 N 依次顺序编号。有 N 个人也从 1 到 N 依次编号。1 号将灯 全部关闭,2 将凡是 2 的倍数的灯 打开;3 号将凡是 3 的倍数的灯作相