chromedp操作打开的浏览器

在做模拟操作的什么应该有些朋友遇到,chromedpselenium打开的浏览器被识别为自动操作控制,这个时候我们怎么做呢?

我们可以手动打开平时操作的浏览器,打开时加上远程控制端口。如下:

chrome.exe --remote-debugging-port=9222

这样开启的浏览器和我们平时操作的一模一样。

package main

import (
	"context"
	"flag"
	"log"

	"github.com/chromedp/chromedp"
)

func main() {
	
	// create allocator context for use with creating a browser context later
	allocatorContext, cancel := chromedp.NewRemoteAllocator(context.Background(), ”ws://127.0.0.1:9222“)
	defer cancel()

	// create context
	ctx, cancel := chromedp.NewContext(allocatorContext)
	defer cancel()

	// run task list
	var body string
	if err := chromedp.Run(ctx,
		chromedp.Navigate("https://duckduckgo.com"),
		chromedp.WaitVisible("#logo_homepage_link"),
		chromedp.OuterHTML("html", &body),
	); err != nil {
		log.Fatalf("Failed getting body of duckduckgo.com: %v", err)
	}

	log.Println("Body of duckduckgo.com starts with:")
	log.Println(body[0:100])
}

这样就可以控制浏览器继续操作咯,开心的耍起来吧!

发表回复