chromedp等待页面加载完成还有其他方式吗举个代码的例子
除了使用chromedp提供的等待页面加载完成的方式,还可以使用Go语言的内置库time,在页面加载完成之前进行等待。具体代码如下:
package main
import (
"context"
"log"
"time"
"github.com/chromedp/chromedp"
)
func main() {
// 创建上下文
ctx, cancel := chromedp.NewContext(context.Background())
defer cancel()
// 加载页面
if err := chromedp.Run(ctx, chromedp.Navigate("https://www.baidu.com")); err != nil {
log.Fatal(err)
}
// 等待页面加载完成
time.Sleep(3 * time.Second)
// 截屏并保存为png
var buf []byte
if err := chromedp.Run(ctx, chromedp.CaptureScreenshot(&buf)); err != nil {
log.Fatal(err)
}
if err := ioutil.WriteFile("screenshot.png", buf, 0644); err != nil {
log.Fatal(err)
}
}
这段代码使用time.Sleep(3 * time.Second)进行等待,等待3秒后再进行截屏。但是这种方式不太可靠,如果页面加载过慢或者网络不稳定,可能会导致截屏失败。因此建议还是使用chromedp提供的等待页面加载完成的方式。
原文地址: https://www.cveoy.top/t/topic/bIID 著作权归作者所有。请勿转载和采集!