aog.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package main
  2. import (
  3. "fmt"
  4. "time"
  5. "github.com/sclevine/agouti"
  6. )
  7. func main() {
  8. // cd := agouti.ChromeDriver()
  9. // cd := agouti.PhantomJS()
  10. // cd := agouti.Selenium()
  11. cd := agouti.Selendroid("/Users/marion/go/src/github.com/tebeka/selenium/vendor/selenium-server-standalone-3.14.0.jar")
  12. err := cd.Start()
  13. if err != nil {
  14. fmt.Println("Start webDriver:", err)
  15. return
  16. }
  17. defer cd.Stop()
  18. pg, err := cd.NewPage(agouti.Browser("chrome"))
  19. if err != nil {
  20. fmt.Println("NewPage:", err)
  21. return
  22. }
  23. err = pg.SetPageLoad(10000)
  24. if err != nil {
  25. fmt.Println("SetPageLoad:", err)
  26. return
  27. }
  28. err = pg.SetScriptTimeout(1000)
  29. if err != nil {
  30. fmt.Println("SetScriptTimeout:", err)
  31. return
  32. }
  33. err = pg.Navigate("https://www.baidu.com/")
  34. if err != nil {
  35. fmt.Println("Navigate:", err)
  36. return
  37. }
  38. for {
  39. title, err := pg.Title()
  40. if err != nil {
  41. fmt.Println("Title:", err)
  42. return
  43. }
  44. fmt.Println(title)
  45. sc := pg.FindByLink("新闻")
  46. // str, err := sc.Text()
  47. // if err != nil {
  48. // fmt.Println("str:", err)
  49. // return
  50. // }
  51. // fmt.Println(str)
  52. err = sc.Click()
  53. if err != nil {
  54. fmt.Println("click:", err)
  55. return
  56. }
  57. title, err = pg.Title()
  58. if err != nil {
  59. fmt.Println("Title2:", err)
  60. return
  61. }
  62. fmt.Println(title)
  63. //sleep
  64. time.Sleep(2 * time.Second)
  65. err = pg.Back()
  66. if err != nil {
  67. fmt.Println("Back:", err)
  68. return
  69. }
  70. //sleep
  71. time.Sleep(2 * time.Second)
  72. }
  73. }