loblab / noip-renew

Auto renew (confirm) noip.com free hosts
Apache License 2.0
423 stars 134 forks source link

Use form submission for login instead of clicking the submit button. #73

Closed anishsane closed 1 year ago

anishsane commented 3 years ago

The input field named 'Login' is a hidden element. So, it cannot be clicked. (Maybe noip has changed the web page code.) Hence the script gives "element not interactable" error. Instead, selenium provides a way to submit the form. If we call element.submit() on any element within the form, it will navigate the tree till it finds the <form> element and submit that form. More details here: https://selenium-python.readthedocs.io/navigating.html#filling-in-forms

neothematrix commented 3 years ago

a fix similar to #69 that should also fix #68

anishsane commented 3 years ago

a fix similar to #69 that should also fix #68

Just saw PR #69. Yes, these are similar. I am OK with either approach, so long as they work.

ghost commented 2 years ago

It seems that the invisible reCAPTCHA algorithm has updated again.

Calling element.submit() will cause reCAPTCHA verification failure.

As stated by @neothematrix, it will be better to use the approach from PR #69.

I guess the reCAPTCHA doesn't fail if we use driver.find_element_by_id("abc").click() because it's emulating user clicks rather than element.submit() which calls the submit function directly.