Hey, looks nice.
Wonder how lib is detecting inputs by "user-visible labels". Looks by html structure, or uses some "magic" methods?
Given following markup:
<label for="foobar">Lorem ipsum</label>
<input id="foobar">
Does write('omg', 'Lorem ipsum')
write into #foobar? Just to clarify since position of those two elements might not be similar at all.If there are multiple occurrences (eg. two "First Name" fields) then Helium scans the page top-to-bottom, and closest to the element you last interacted with. Like a human would normally also do.