Я использовал chromedp для автоматизации задачи и играл с EvaluateAsDevTools
, но почему-то я всегда сталкивался с ошибками, и результат команды не возвращается.
opts := append(chromedp.DefaultExecAllocatorOptions[:],
chromedp.Flag("headless", false),
chromedp.Flag("disable-gpu", false),
chromedp.Flag("enable-automation", false),
)
allocCtx, cancel := chromedp.NewExecAllocator(context.Background(), opts...)
defer cancel()
// create context
ctx, cancel := chromedp.NewContext(allocCtx, chromedp.WithLogf(log.Debugf))
defer cancel()
// run task list
// var buf []byte
var res []string
// var val1, val2 string
log.Info(pr.Username, pr.Password)
chromedp.Run(ctx,
// submit(pr.Username, pr.Password, &val1, &val2),
// fullscreenScreenshot(90, &buf),
chromedp.EvaluateAsDevTools(`console.log('hello world');`, &res),
)
console:
INFO[2020-04-06T14:05:27-07:00] []
Я также пытался использовать var res interface{}
, но также столкнулся с той же проблемой, хотя, когда я на самом деле вручную go в devtools в экземпляре, я вижу, что javascript был оценен правильно.