Chromedp学习

前言

学习下chromedp框架尝试网页自动化

导入

import "github.com/chromedp/chromedp"

原理结构

flowchart LR
  Go[go程序]---> CH[chromedp]
  CH --> CDP[Chrome DevTools Protocol]
  CDP --> W[网页]

基本结构

flowchart LR
  ctx --> Run
  Run --> Task1
  Task1 --> Task2...
ctx, cancel := chromedp.NewContext(context.Background())
defer cancel()

err := chromedp.Run(ctx,
    chromedp.Navigate("https://google.com"),
)

一个ctx启动一个TAB:

ctx, cancel := chromedp.NewContext(context.Background())
ctx2, _ := chromedp.NewContext(ctx)

Run()

在Run中对网页进行操作,如:

chromedp.Run(ctx,

    chromedp.Navigate(url),

    chromedp.WaitVisible("#login"),

    chromedp.Click("#login"),

    chromedp.Sleep(time.Second),
)

将会依次进行

评论

加载评论中...