Releases: mherrmann/helium
Release list
Make select(...) support prefix matches as well
Add support for hidden file input elements
Websites often have hidden file input elements. Helium previously was not able to interact with them. Now it can. For example, via:
attach_file('.../path/to/your/file.txt')
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
