Releases: mherrmann/helium
Add support for hidden file input elements
Improve LookupError
Previously, when you did click("non-existent") you received a LookupError without further information. Now, you get LookupError: "non-existent". Similarly for other actions. This makes debugging easier.
Fix relative searches
Improve the behavior of find_all
find_all had the following bug:
Imagine you have the following code:
for label in find_all(Text('Label')):
print(Link(to_right_of=label).href)
The bug was that this used the same Link for each label, producing output for links that actually were not to_right_of the label in the loop.
Furthermore, this release also changes the behavior of find_all in the following way. Say you have four buttons in a 2x2 grid:
Previously, the following code used to return two buttons:
find_all(Button("Duplicate Button"), below=Button("Duplicate Button"))
(Namely, the two buttons in the second row, because they are both under a "Duplicate Button").
Now, this only returns one button (the first button in the second row). If you want both, you can still do:
for button in find_all(Button("Duplicate Button")):
find_all(Button("Duplicate Button", below=button))
This release is a major version bump (6.x.x) because it changes the elements returned by Helium's API and may therefore be backwards-incompatible.
Prevent Chrome's leaked password detection
Recent Chrome versions have a feature that sometimes brings up a blocking prompt The password you just used was found in a data breach. This can interfere with automation. This release prevents it from being used.
Fix start_firefox(..., profile=profile)
Add support for input type=date and ...=time
See 2100561.
This is a minor version upgrade (5.0.... -> 5.1....) because the new implementation may find slightly different text fields.
Fix a small bug in find_all(...)
It was introduced in v5.0.5.
Avoid some FramesChangedWhileIterating errors
v5.0.5 Bump version to 5.0.5
Fix NoSuchElementException print(...)ing elements outside the current frame
Please see the newly added test for details.
