* Minor cleanups: move all Element classes to bottom of module.
* Commenting.
* Commenting.
* Commenting.
* Group dunder methods.
* Don't cache the element's parent.
* Remove style type check until we decide whether or not to add for classes too.
* Add ability to register/unregister element classes.
* Implement __iter__ for container elements.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Minor renaming to make it clear when we have an Element instance vs an actual DOM element.
* remove duplication: added Element.get_tag_name
* Commenting.
* Allow Element.append to 1) use *args, 2) accept iterables
* Remove iterable check - inteferes with js proxies.
* Don't use *args, so it quacks more like a list ;)
* Element.append take 2 :)
* Remove unused code.
* Move to web.py with a page object!
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Added 'page.title' too :)
* Add __getitem__ as a shortcut for page.find
* Add Element.__getitem__ to be consistent
* Make __getitem__ consistent for Page, Element and ElementCollection.
* Docstringing.
* Docstringing.
* Docstringing/commenting.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix select.add (revert InnerHTML->html)
* Commenting.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Hand-edit some of the AI :)
* Rename ElementCollection.children -> ElementCollection.elements
* Remove unnecessary guard.
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>