Ich habe Python verwendet, um einen Code zu schreiben, der sich anmeldet. Dieser Code erledigt die Arbeit an meiner Universität.
# The selenium.webdriver module provides all the WebDriver implementations. get it online, [I got the module from here][1] from selenium import webdriver # The Keys class provide keys in the keyboard like RETURN, F1, ALT etc. from selenium.webdriver.common.keys import Keys # here, a instance of Firefox WebDriver is created. You can do it for various browsers driver = webdriver.Firefox() # The driver.get method will navigate to a page given by the URL. #WebDriver will wait until the page has fully loaded (that is, the “onload” event has fired) # before returning control to your test or script. # It’s worth noting that if your page uses a lot of AJAX on load then WebDriver may not know when it has completely loaded. so please be patient driver.get("https://192.168.20.1/auth1.html") # The next line is an assertion to confirm that title has “Sonic” word in it: (not really neccesary :p) # This is used to confirm that the webpage is the right one assert "Sonic" in driver.title # we use the 'name' tag to get a handle to the username and password this finds the appropriate box. user = driver.find_element_by_name("userName") passwd = driver.find_element_by_name("pwd") # use the 'send_keys' function to set the "box's" values to your password and username user.send_keys("<your username>") passwd.send_keys("<your password>") # we sumbit the form passwd.send_keys(Keys.RETURN) # we close the window after logging in, the popup which takes care of the 3 hour windows remains open. driver.close()
Nun gibt es viele Punkte, die angesprochen werden müssen,
Wie Sie vielleicht sehen, habe ich die URL verwendet, zu der ich navigiere, um
"https://192.168.20.1/auth1.html" not "https://192.168.20.1/auth.html"
mich anzumelden, da dies in meinem College ein Frame ist. Grundsätzlich könnte ich nicht die 'find_element_by_name' oder irgendwelche anderen Funktionen auf dieser Site verwenden. Dies kann von Institut zu Institut variieren. Lesen Sie den Quellcode Ihres Instituts sorgfältig durchIch habe auch 'userName' und 'pwd' als Namen der Formularbox verwendet. Dies muss nicht für Sie wahr sein, überprüfen Sie das auch.
Jetzt werden Sie mit diesem Code nur angemeldet, wenn Sie ihn ausführen. Sie können es in eine Schleife setzen und eine Zeitverzögerung von 2,5 Stunden einstellen. Ich plane, es im Hintergrund laufen zu lassen, und wenn der Computer eine Verbindung zu einem WLAN herstellt, wird das Skript benachrichtigt (ich könnte hier etwas Hilfe gebrauchen) und der Code könnte mit einer Anfrage an die "Authentifizierungsseite" beginnen, falls vorhanden Ein 404-Fehler bricht dann auf andere Weise den Code ab. (Anforderungsbibliothek kann bei diesen Dingen helfen)
#checks for 404 error check=requests.head(url) if check.status_code==404: break
Python ist eine großartige Sprache, man kann weiter daran arbeiten, aber ich denke nicht, dass es schwer sein wird, sie in Rubin zu portieren, da Selen auch in Rubin verfügbar ist.
Bitte zögern Sie nicht, mich zu kontaktieren, da ich daran arbeite, diesen Code zu portieren und weitere Funktionen für Android usw. zu implementieren.