Möchte einen automatischen Login zu "website.de" kreieren.
Habe folgenden Code:
Code: Alles auswählen
from selenium import webdriver
from selenium.webdriver.support import ui
from selenium.webdriver.common.keys import Keys
def page_is_loaded(driver):
return driver.find_element_by_tag_name("body") != None
driver = webdriver.Firefox()
driver.get("https://www.website.de/")
wait = ui.WebDriverWait(driver, 10)
wait.until(page_is_loaded)
email_field = driver.find_element_by_id("USERNAME")
email_field.send_keys("***@***.de")
password_field = driver.find_element_by_id("PASSWORD")
password_field.send_keys("********")
password_field.send_keys(Keys.RETURN)
Folgende Fehlermeldung bekomme ich:
Code: Alles auswählen
Traceback (most recent call last):
File "fb.py", line 11, in <module>
email_field = driver.find_element_by_id("USERNAME")P
File "/home/rtfm/.local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 359, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "/home/rtfm/.local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 966, in find_element
'value': value})['value']
File "/home/rtfm/.local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 320, in execute
self.error_handler.check_response(response)
File "/home/rtfm/.local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="USERNAME"]
Unter Python3 kann ich nämlich weder mechanize noch selenium importieren.
Python2: Python 2.7.15rc1
Python3: Python 3.6.5
Nutze ein frisch installiertes Linux Mint Tara (19) mit Kernelversion 4.15.0.20
Wie kann ich den Fehler lösen bzw. könnte es an der Website liegen?
Die id's sind an die Website angepasst, mir fiele kein Grund für ein "Nichtfunktionieren" ein.
Gruß