response.Body() cant‘run in the page.OnResponse(HandleResponse) callback function
xiaoyaochen opened this issue · 5 comments
xiaoyaochen commented
when use response.Body() in the page.OnResponse(HandleResponse) callback function, it will be stop running
like this:
package main
import (
"fmt"
"github.com/playwright-community/playwright-go"
)
func HandleResponse(response playwright.Response) {
fmt.Println(response.URL())
body, err := response.Body()
if err == nil {
fmt.Println(body)
}
}
func main() {
pw, _ := playwright.Run()
browser, _ := pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{
Headless: playwright.Bool(true),
})
context, _ := browser.NewContext()
page, _ := context.NewPage()
page.OnResponse(HandleResponse)
_, err := page.Goto("https://github.com/")
if err != nil {
fmt.Printf(err.Error())
}
defer func() {
page.Close()
browser.Close()
pw.Stop()
}()
}
canstand commented
Please provide verified reproducible code in markdown code block format.
xiaoyaochen commented
package main
import (
"fmt"
"github.com/playwright-community/playwright-go"
)
func HandleResponse(response playwright.Response) {
fmt.Println(response.URL())
body, err := response.Body()
if err == nil {
fmt.Println(body)
}
}
func main() {
pw, _ := playwright.Run()
browser, _ := pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{
Headless: playwright.Bool(true),
})
context, _ := browser.NewContext()
page, _ := context.NewPage()
page.OnResponse(HandleResponse)
_, err := page.Goto("https://github.com/")
if err != nil {
fmt.Printf(err.Error())
}
defer func() {
page.Close()
browser.Close()
pw.Stop()
}()
}
canstand commented
pls use goroutine to get response body for now:
func HandleResponse(response playwright.Response) {
go func() {
fmt.Println(response.URL())
body, err := response.Body()
if err == nil {
fmt.Println(body)
}
}()
}