🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 看云自动登录 通过设置cookie ,让看云自动登录 ``` // Command click is a chromedp example demonstrating how to use a selector to // click on an element. package main import ( "context" "github.com/chromedp/cdproto/cdp" "github.com/chromedp/cdproto/network" "github.com/chromedp/cdproto/storage" "log" "time" "github.com/chromedp/chromedp" ) func main() { opts := append(chromedp.DefaultExecAllocatorOptions[:], chromedp.Flag("headless", false), ) allocator, _ := chromedp.NewExecAllocator(context.Background(), opts...) //defer cancelFunc() // create chrome instance ctx, cancel := chromedp.NewContext( allocator, chromedp.WithLogf(log.Printf), ) //defer cancel() // create a timeout ctx, cancel = context.WithTimeout(ctx, 15*time.Second) defer cancel() // navigate to a page, wait for an element, click var example string err := chromedp.Run(ctx, //chromedp.Tasks{ chromedp.ActionFunc(func(ctx context.Context) error { expr := cdp.TimeSinceEpoch(time.Now().Add(180 * 24 * time.Hour)) err := network.SetCookie("PHPSESSID", "pru4459rc52gslvh4r"). WithExpires(&expr). WithDomain("www.kancloud.cn"). // 此参数必填,否则无法跳转url WithHTTPOnly(true). Do(ctx) if err != nil { return err } return nil }), chromedp.Navigate("https://www.kancloud.cn/"), chromedp.ActionFunc(func(ctx context.Context) error { cookies, err := storage.GetCookies().Do(ctx) if err != nil { return err } for i, cookie := range cookies { log.Printf("chrome cookie %d: %+v", i, cookie) } return nil }), //}, ) if err != nil { log.Fatal(err) } log.Printf("Go's time.After example:\n%s", example) } ```