rod: Reconnect to the same browser and use WaitRequestIdle will hang forever
Rod Version: v0.52.0
To Reproduce
func main() {
u := launcher.New().Headless(false).RemoteDebuggingPort(8765).MustLaunch()
b := rod.New().Timeout(30 * time.Second).ControlURL(u).MustConnect()
page := b.MustPages()[0]
nav(page)
fmt.Println("1")
nav(page)
fmt.Println("2")
}
func nav(page *rod.Page) {
wait := page.MustWaitRequestIdle()
page.MustNavigate("https://www.taobao.com")
wait()
}
go run ./main.go
go run ./main.go
Expected behavior
1
2
1
2
What you expected to get.
Actual result
1
2
1
panic: context deadline exceeded
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 20
多谢你花时间报告这个问题。我基本确定是某种 bug 了,你可以先不使用 MustWaitRequestIdle 来等待页面加载。可以用 MustElement 来等待:
这种等待更加实用。
我有时间会看下怎么修复这个 bug。