2016-04-11 3 views
0

Ich versuche den Code auszuführen, um mich bei gmail.com anzumelden, aber der Anmeldevorgang scheint sich geändert zu haben. Ich habe den Code wie folgt geändert, aber weiterhin den folgenden Fehler erhalten: selenium.common.exceptions.NoSuchElementException: Nachricht: Kann Element nicht finden: {"Methode": "ID", "Selektor": "Passwd"} Dose jemand sehen oder wissen, was ich falsch mache.Die langweiligen Dinge automatisieren - Kapitel 11 - Ausfüllen und Absenden von Formularen p. 259

Dank
from selenium import webdriver 
browser = webdriver.Firefox() 
browser.get('http://gmail.com') 
emailElem = browser.find_element_by_id('Email') 
emailElem.send_keys('[email protected]') 
nextElem = browser.find_element_by_id('next') 
nextElem.click()    # click the button 
passwordElem = browser.find_element_by_id('Passwd') 
passwordElem.send_keys('password') 
passwordElem.submit() 
+0

Eine stabile Gmail API für Python: https://developers.google.com/gmail/api/quickstart/python –

Antwort

2

Sie müssen wait für das Vorhandensein von Element mit id="Passwd":

from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 

wait = WebDriverWait(browser, 10) 
passwordElem = wait.until(EC.presence_of_element_located((By.ID, "Passwd"))) 
passwordElem.send_keys('password') 
passwordElem.submit() 
+0

Mit der folgenden Änderung an meinem Code funktioniert es. Danke Alecxe. wait = WebDriverWait (Browser, 10) –

Verwandte Themen