Skip to content

Commit 96b548e

Browse files
tmaheshmahesh-e27
andauthored
bug-fix: text elements don't have attributes (#36)
Co-authored-by: Mahesh <mahesh@e27.ai>
1 parent 462604e commit 96b548e

1 file changed

Lines changed: 14 additions & 17 deletions

File tree

pkg/driver/browser/cdp/finder.go

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -643,26 +643,23 @@ func (d *Driver) elementInfo(elem *rod.Element) *core.ElementInfo {
643643
info.Visible = visible
644644
}
645645

646-
disabled, err := elem.Attribute("disabled")
647-
if err != nil {
648-
log.Printf("[browser] elementInfo: Attribute(disabled) failed: %v", err)
649-
} else if disabled != nil {
650-
info.Enabled = false
651-
}
646+
// Skip attribute lookups for text nodes
647+
tagName, err := elem.Eval(`() => this.tagName`)
648+
if err == nil && tagName.Value.Str() != "" {
649+
info.Class = tagName.Value.Str()
652650

653-
if checked, err := elem.Property("checked"); err == nil {
654-
info.Checked = checked.Bool()
655-
}
651+
disabled, err := elem.Property("disabled")
652+
if err == nil && disabled.Bool() {
653+
info.Enabled = false
654+
}
656655

657-
ariaLabel, err := elem.Attribute("aria-label")
658-
if err != nil {
659-
log.Printf("[browser] elementInfo: Attribute(aria-label) failed: %v", err)
660-
} else if ariaLabel != nil {
661-
info.AccessibilityLabel = *ariaLabel
662-
}
656+
if checked, err := elem.Property("checked"); err == nil {
657+
info.Checked = checked.Bool()
658+
}
663659

664-
if tagName, err := elem.Eval(`() => this.tagName`); err == nil {
665-
info.Class = tagName.Value.Str()
660+
if ariaLabel, err := elem.Attribute("aria-label"); err == nil && ariaLabel != nil {
661+
info.AccessibilityLabel = *ariaLabel
662+
}
666663
}
667664

668665
return info

0 commit comments

Comments
 (0)