2016-04-11 3 views
0

gmail.comにログインするためのコードを実行しようとしていますが、ログインプロセスが変更されたようです。私は次のようにコードを修正しましたが、次のエラーが表示され続けます:selenium.common.exceptions.NoSuchElementException:メッセージ:要素を見つけることができません: ""メソッド ":" id "、" selector ":" Passwd "} 私が間違っていることを知っている。おかげ退屈なものを自動化 - 第11章 - フォームの記入と提出p。 259

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

Pythonのための安定したGmailのAPI:https://developers.google.com/gmail/api/quickstart/python –

答えて

2

あなたはid="Passwd"を持つ要素の存在をwaitする必要があります。

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

私のコードに以下の変更を加えれば、それは動作します。ありがとうalecxe。 wait = WebDriverWait(ブラウザ、10) –

関連する問題