0

As seen in the HTML struct, the attributes is a private property:

// HTMLElement is the representation of a HTML tag.
type HTMLElement struct {
    // Name is the name of the tag
    Name       string
    Text       string
    attributes []html.Attribute
    // Request is the request object of the element's HTML document
    Request *Request
    // Response is the Response object of the element's HTML document
    Response *Response
    // DOM is the goquery parsed DOM object of the page. DOM is relative
    // to the current HTMLElement
    DOM *goquery.Selection
    // Index stores the position of the current element within all the elements matched by an OnHTML callback
    Index int
}

There are functions such a .Attr() for fetching a single attribute, but how would I iterate over all attributes? It seems that there is no obvious way to access attributes or functions from that struct.

danthegoodman
  • 501
  • 4
  • 10

1 Answers1

1

By accessing the raw html.Node underneath, we can iterate:

for _, node := range e.DOM.Nodes {
    fmt.Println(node.Attr)
}
danthegoodman
  • 501
  • 4
  • 10