loblab / noip-renew

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

Message: element not interactable #68

Open hugoKs3 opened 3 years ago

hugoKs3 commented 3 years ago

Troubles with the script since a few days:

[2021/04/09 03:23:12] - Opening https://www.noip.com/login... [2021/04/09 03:23:21] - Logging in... [2021/04/09 03:23:23] - Message: element not interactable

Was working fine until now. Any clue?

peterchs commented 3 years ago

Looks like the login form changed, dupe elements which arent visible/enabled being selected.

Think I fixed it changing the selectors for the username/password/login controls to ensure the visible/enable ones get picked. Although none of my hosts needed confirmed, its not getting stuck at login any longer.

Lines starting at https://github.com/loblab/noip-renew/blob/9640063294708bfd1a28111a5fc214dcdfa05af9/noip-renew.py#L73

From:

ele_usr = self.browser.find_element_by_name("username")
ele_pwd = self.browser.find_element_by_name("password")
...
self.browser.find_element_by_name("Login").click()

To:

ele_usr = self.browser.find_element_by_xpath("//form[@id='clogs']/input[@name='username']")
ele_pwd = self.browser.find_element_by_xpath("//form[@id='clogs']/input[@name='password']")
...
self.browser.find_element_by_xpath("//form[@id='clogs']/button[@type='submit']").click()
hugoKs3 commented 3 years ago

I did the same 😉

neothematrix commented 3 years ago

I also did the same and it's now working, I also sent a PR to fix this in the main code, thanks for the suggestion!

TheBingPlays commented 3 years ago

Changed the code in noip-renew.py but im still getting "element not interactable"

peterchs commented 3 years ago

Still working ok here. Any log?

TheBingPlays commented 3 years ago

Still working ok here. Any log?

Nothing in var image

Changed my noip-renew.py file to txt. 1noip-renew.txt

kodavn commented 3 years ago

worked. Thank you

peterchs commented 3 years ago

@TheBingPlays mean what debug is outputted when you run it.. is it the same as the reporter had? Maybe add some debug lines work out where it’s failing for you, still working ok here and for others it seems.

arooni commented 3 years ago

had this error today

[I] ✘  ~/s/noip-renew   master ±  ./noip-renew.sh [2021/04/16 18:40:20] - Debug level: 2 [2021/04/16 18:40:20] - Opening https://www.noip.com/login... [2021/04/16 18:40:24] - Logging in... [2021/04/16 18:40:24] - Message: element not interactable (Session info: headless chrome=90.0.4430.72)

running 9640063 [9 weeks ago] (HEAD -> master, origin/master, origin/HEAD) Merge pull request #49 from snakuzzo/patch-3 [GitHub]

peterchs commented 3 years ago

PR to fix this hasnt been merged yet.

I've tested it this morning, with Chrome 90 and the changes mentioned above - they are still working ok for me, no error.

Try above fixes manually or https://github.com/neothematrix/noip-renew/tree/patch-1

Also I had a host committed and it completed successfully.

anishsane commented 3 years ago

I did below change, and it works too (PR #73):

-        self.browser.find_element_by_name("Login").click()
+        ele_usr.submit()

I am OK with either approach. But I am not expert on selenium usages. Can someone here tell me, which of the approaches are better? form submit or element clicking by searching for type=submit?

TheBingPlays commented 3 years ago

@TheBingPlays mean what debug is outputted when you run it.. is it the same as the reporter had? Maybe add some debug lines work out where it’s failing for you, still working ok here and for others it seems.

It's like the script is not reading the edited .py file. Like it's trying to execute the unedited one. I don't know how to fix that.

sendorm commented 3 years ago

I did below change, and it works too (PR #73):

-        self.browser.find_element_by_name("Login").click()
+        ele_usr.submit()

I am OK with either approach. But I am not expert on selenium usages. Can someone here tell me, which of the approaches are better? form submit or element clicking by searching for type=submit?

Your method worked for me. The other method did not. Thank you.