I believe there is a subtle bug in browser.Forms. The slice is made with a length instead of a capacity. Here is the original code
// Forms returns an array of every form in the page.
func (bow *Browser) Forms() []Submittable {
sel := bow.Find("form")
len := sel.Length()
if len == 0 {
return nil
}
forms := make([]Submittable, len)
sel.Each(func(_ int, s *goquery.Selection) {
forms = append(forms, NewForm(bow, s))
})
return forms
}
The make line should be forms := make([]Submittable, 0, len) since we are using append to add items.
I believe there is a subtle bug in browser.Forms. The slice is made with a length instead of a capacity. Here is the original code
The make line should be
forms := make([]Submittable, 0, len)
since we are using append to add items.