分享

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

 看见就非常 2020-04-29

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

这里先介绍下用到的库:

https://github.com/tebeka/selenium

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

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

1.webdriver,selenium路径:

2. 屏蔽FrameBuffer

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

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/tebeka/selenium"
  5. "io/ioutil"
  6. "os"
  7. "os/signal"
  8. "syscall"
  9. )
  10. var (
  11. sigs chan os.Signal
  12. )
  13. func init() {
  14. sigs = make(chan os.Signal, 1)
  15. signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
  16. }
  17. func main() {
  18. const (
  19. // These paths will be different on your system.
  20. seleniumPath = "./vender/selenium-server-standalone-3.8.1.jar"
  21. geckoDriverPath = "./vender/geckodriver.exe"
  22. port = 8080
  23. )
  24. opts := []selenium.ServiceOption{
  25. selenium.GeckoDriver(geckoDriverPath), // Specify the path to GeckoDriver in order to use Firefox.
  26. selenium.Output(ioutil.Discard), // Output debug information to STDERR.
  27. }
  28. selenium.SetDebug(false)
  29. service, err := selenium.NewSeleniumService(seleniumPath, port, opts...)
  30. if err != nil {
  31. panic(err) // panic is used only as an example and is not otherwise recommended.
  32. }
  33. defer service.Stop()
  34. // Connect to the WebDriver instance running locally.
  35. caps := selenium.Capabilities{"browserName": "firefox"}
  36. wd, err := selenium.NewRemote(caps, fmt.Sprintf("http://localhost:%d/wd/hub", port))
  37. if err != nil {
  38. panic(err)
  39. }
  40. defer wd.Quit()
  41. // Navigate to the simple playground interface.
  42. if err := wd.Get("https://www.baidu.com/"); err != nil {
  43. panic(err)
  44. }
  45. wd.SetImplicitWaitTimeout(4)
  46. input,err:=wd.FindElement(selenium.ByCSSSelector,"#kw")
  47. if err!=nil{
  48. panic(err)
  49. }
  50. input.SendKeys("selenium")
  51. search,err:=wd.FindElement(selenium.ByCSSSelector,"#su")
  52. if err!=nil{
  53. panic(err)
  54. }
  55. search.Click()
  56. <-sigs
  57. }

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

Selenium: https://selenium-release.storage./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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多