We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
package main import ( "context" "errors" "fmt" "strings" "time" "github.com/go-rod/rod" "github.com/go-rod/rod/lib/launcher" ) func main() { run3() } func run3() error { err := rod.Try(func() { // 创建浏览器启动器 l := launcher.New(). Headless(false) // 获取调试链接 controlURL, _ := l.Launch() // 连接到浏览器 browser := rod.New(). Trace(true). // todo 设置true才能看到鼠标轨迹 ControlURL(controlURL). MustConnect() defer browser.Close() page := browser.MustPage() // 设置头 page.MustSetExtraHeaders("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36") page.Timeout(60 * time.Second).MustNavigate("https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=scrm&fenlei=256&oq=scrm&rsv_pq=8007612900055065&rsv_t=abddmB2geAChWQoEyvOEvtHuqTL4p1pLlKq8rIZqyLeyBQDLIdp5LMjmPgA&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_btype=t") time.Sleep(time.Second * 5) // 滚动到元素 page.MustElement("#page > div > a").MustScrollIntoView() aArr := page.Timeout(60 * time.Second).MustElements("#page > div > a") var next *rod.Element for _, a := range aArr { aName := a.MustText() fmt.Println(aName) fmt.Println(a.MustHTML()) href := a.MustAttribute("href") if href == nil { continue } fmt.Println(*href) if strings.Contains(aName, "下一页") { next = a } } if next == nil { return } // 标记等待当前页面打开下一个页面 wait := page.MustWaitOpen() next.MustClick() newPage := wait() // todo 程序会一直阻塞在这里 defer newPage.MustClose() return }) if errors.Is(err, context.DeadlineExceeded) { return fmt.Errorf("超时错误") } else if err != nil { return fmt.Errorf("解析页面异常:%s", err) } return nil }
The text was updated successfully, but these errors were encountered:
请去掉不影响问题结果的代码
Sorry, something went wrong.
#322
你这个点击“下一页”只会在当前页面导航,浏览器并没有创建新页面
No branches or pull requests
当前页面点a链接打开下一个页面使用MustWaitOpen会一直阻塞中问题
The text was updated successfully, but these errors were encountered: