クロメップ:Goでウェブをサーフィンし始めてください
4093 ワード
chromedpあなたが反転するのに役立ちます!Web高速で、簡単に、プログラムのGolangで.あなたはSeleniumまたはPhantomJSまたは他の同様のツールで働いている場合は、この概念はあなたに精通している.
この記事では、chromedpで働き始め、いくつかの簡単な作業を行います.始めましょう.
まず最初に、プロジェクトの依存関係にchromedpを追加しなければなりません.これは、以前使用した他の
この記事では、chromedpで働き始め、いくつかの簡単な作業を行います.始めましょう.
まず最初に、プロジェクトの依存関係にchromedpを追加しなければなりません.これは、以前使用した他の
golang
パッケージと同じようにできます.go get -u github.com/chromedp/chromedp
chromedpを使用して作業を開始するには、たくさん行う必要はありません!あなたがする必要がある唯一のことは、context
を作成し、それを操作を開始しますctx, cancel := chromedp.NewContext(context.Background())
defer cancel()
chromedp.Run(ctx, chromedp.Navigate("https://www.google.com"))
それです.私を信じて、chromedpはまだ何もまだ見ていない場合でもGoogleを開く!ブラウザが表示されなかった理由は、デフォルトではヘッドレスモードで実行されます.実際には、デフォルトでは// DefaultExecAllocatorOptions are the ExecAllocator options used by NewContext
// if the given parent context doesn't have an allocator set up. Do not modify
// this global; instead, use NewExecAllocator. See ExampleExecAllocator.
var DefaultExecAllocatorOptions = [...]ExecAllocatorOption{
NoFirstRun,
NoDefaultBrowserCheck,
Headless,
// After Puppeteer's default behavior.
Flag("disable-background-networking", true),
Flag("enable-features", "NetworkService,NetworkServiceInProcess"),
Flag("disable-background-timer-throttling", true),
Flag("disable-backgrounding-occluded-windows", true),
Flag("disable-breakpad", true),
Flag("disable-client-side-phishing-detection", true),
Flag("disable-default-apps", true),
Flag("disable-dev-shm-usage", true),
Flag("disable-extensions", true),
Flag("disable-features", "site-per-process,TranslateUI,BlinkGenPropertyTrees"),
Flag("disable-hang-monitor", true),
Flag("disable-ipc-flooding-protection", true),
Flag("disable-popup-blocking", true),
Flag("disable-prompt-on-repost", true),
Flag("disable-renderer-backgrounding", true),
Flag("disable-sync", true),
Flag("force-color-profile", "srgb"),
Flag("metrics-recording-only", true),
Flag("safebrowsing-disable-auto-update", true),
Flag("enable-automation", true),
Flag("password-store", "basic"),
Flag("use-mock-keychain", true),
}
見ることができるように、配列の3番目の項目はヘッドレスです.新しいコンテキストを作成するためのコンフィグを作成しましょう.opts := append(
// select all the elements after the third element
chromedp.DefaultExecAllocatorOptions[3:],
chromedp.NoFirstRun,
chromedp.NoDefaultBrowserCheck,
)
最新の手順はexecalLocatorを作成し、親コンテキストとして渡すことです.parentCtx, _ := chromedp.NewExecAllocator(context.Background(), opts...)
ctx, _ := chromedp.NewContext(parentCtx)
プロジェクトを実行すると、ブラウザが開き、Google Webサイトに移動します.以下は完全なコードです.package main
import (
"context"
"fmt"
"github.com/chromedp/chromedp"
)
func main() {
opts := append(
// select all the elements after the third element
chromedp.DefaultExecAllocatorOptions[3:],
chromedp.NoFirstRun,
chromedp.NoDefaultBrowserCheck,
)
// create chromedp's context
parentCtx, cancel := chromedp.NewExecAllocator(context.Background(), opts...)
defer cancel()
ctx, cancel := chromedp.NewContext(parentCtx)
defer cancel()
if err := chromedp.Run(ctx, chromedp.Navigate("https://www.google.com")); err != nil {
panic(err)
}
fmt.Println("I've just saw Google!!!")
}
Reference
この問題について(クロメップ:Goでウェブをサーフィンし始めてください), 我々は、より多くの情報をここで見つけました https://dev.to/devmarkpro/chromedp-get-started-to-surfing-the-web-with-go-1k5gテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol