GO+Selenium批量关注各大网站实战 1 (基础+demo)
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)相关推荐
- GO+Selenium批量关注各大网站实战 3 (开发者头条号)
这次实战的网站是开发者头条. 主要实现的功能有3个, 批量关注好友,批量收藏文章,批量订阅独家号. 先看关注好友: 网站用户的个人主页: 可以看出,地址路由采用的是最后的id递增.(这在网站开发中很普 ...
- GO+Selenium批量关注各大网站实战 2 (今日头条,批量关注)
作为第一个练习,我选择的是今日头条批量关注好友这个功能. 今日头条每天关注量有200人限制,满了再点击关注,就会提示已达上限.所以我刷了几天,现在是4600个人~ 我们先来讲讲思路: 1. 登录自己的 ...
- 初出茅庐的小李第114篇博客项目笔记之机智云智能浇花器实战(3)-基础Demo实现
机智云智能浇花器实战(3)-基础Demo实现 链接:机智云智能浇花器实战(2)-基础Demo实现 BH1750光照传感器原理图 BH1750传感器代码 #include "bh1750.h& ...
- 初出茅庐的小李第113篇博客项目笔记之机智云智能浇花器实战(2)-基础Demo实现
初出茅庐的小李第112篇博客项目笔记之机智云智能浇花器实战(1)-基础Demo实现 接(1) 继电器实现 继电器原理图 继电器采用的是5V继电器,控制端是RELAY-1 继电器代码实现 #includ ...
- 【Io开发笔记】机智云智能浇花器实战(1)-基础Demo实现
一,系统总计设计 该系统主要由三个部分组成:传感执行部分.无线通信部分,机智云自助开发平台部分.传感执行部分由主控单元.显示单元.和存储单元共同组成.传感检测部分采集空气环境参数信息,并且实时处理采集 ...
- 初出茅庐的小李第112篇博客项目笔记之机智云智能浇花器实战(1)-基础Demo实现
项目文件夹框架 API文件夹---------------------------------------放置各种传感器驱动代码文件夹 CMSIS文件夹------------------------ ...
- Web2.0时代最值得网民们关注的十大网站(2006年)
Web2.0时代最值得网民们关注的十大网站 http://www.sina.com.cn 2006年09月20日 17:37 赛迪网 在Web2.0革命浪的潮中,技术与创新成为互联网的灵魂.虽然目前国 ...
- python 爬虫 微博 github_GitHub 热门:各大网站的 Python 爬虫登录汇总
原标题:GitHub 热门:各大网站的 Python 爬虫登录汇总 (给数据分析与开发加星标,提升数据技能) 转自:机器之心,GitHub 作者:CriseLYJ 不论是自然语言处理还是计算机视觉,做 ...
- wordpress 大网站_加快您的WordPress网站
wordpress 大网站 This article was sponsored by GoDaddy. Thank you for supporting the companies who make ...
- 工资8000以下的程序员注意了:《零coding数据大屏实战宝典.pdf》
马云曾说:"整个世界将变成数据,这还只是数据时代的开始.新浪潮即将来临,很多就业机会将被夺走.有些人会赶上潮流,变得富有和成功.但是对那些落后的人,未来将是痛苦的. 大数据从2013年一路发 ...
最新文章
- 【原创】gooogleman亲自参与设计的三星Cortex A8 S5pv210 之Sate210核心板硬件用户手册(作者:gooogleman)...
- shiro 解决 跨域(仅端口不同) 登陆 问题
- 在VM虚拟机Windows Server r2上部署安装Microsoft Dynamics CRM 2016 步骤详解(一)
- Windows Phone开发(35):使用Express Blend绘图 转:http://blog.csdn.net/tcjiaan/article/details/7493010...
- 洛谷P2746 [USACO5.3]校园网Network of Schools
- 移动开发者周刊第一期,大家收到了么?
- hdu2846(字典树)
- 交互题[CF1103B Game with modulo、CF1019B The hat、CF896B Ithea Plays With Chtholly]
- WinCE中为基于对话框的程序动态增加菜单
- SSH框架下的表单重复提交
- 基于Linux操作系统的在线英英词典C语言代码
- ip domain-lookup命令解释
- 锚具ovm是什么意思_OVM锚具
- 谷粒商城九商品服务之商品属性及仓储服务todo
- 【科创人南京行】西祠胡同创始人“响马”刘琥:一生寻找精神绿林,减区块链也许是正确方向...
- ARCGIS制作图中图——小图/一幅多图
- python爬虫爬取王者荣耀官网全部英雄头像(源码分享)
- 怎样才能把一个代码变成软件成品?一个初学者的困惑,我们写的代码都只能是解决一些数学问题而已。怎么把它变成一个软件。
- 你所不知道的良心网站第一弹
- C语言 数组插入 – 插入法排序(顺序版)
热门文章
- windows彻底永久关闭自动更新的方式
- Error occurred during initialization of VM 解决
- [BZOJ2827]千山鸟飞绝
- MongoDB分组查询数据库sql
- 剖析Linux的守护神
- [CSP-S模拟测试]:跳房子(模拟)
- 计算器linux源码,强悍的C++程序实现计算器的linux源程序(国外英文资料).doc
- 使用Bmob云端代码开发微信公众平台教程
- html5单行文本框属性,文本框list属性和文本框autocomplete属性
- 灯的开关状态 :有 N 个灯放在一排,从 1 到 N 依次顺序编号。有 N 个人也从 	1 到 N 依次编号。1 号将灯 全部关闭,2 将凡是 2 的倍数的灯 	打开;3 号将凡是 3 的倍数的灯作相