2017-02-01 19 views
-1

私はすべての提案をstackoverflowで試しましたが、どれもうまくいかないようです。私のコードはテストされた他のすべてのログインサイトで動作しますが、 "https://internet-banking.dbs.com.sg/"はログインするスクリプトを作成しようとしているサイトで、要求に応じて銀行残高を確認しています。 私のコードは次の通りである:私はこれを実行するとセレンは要素を見つけることができません

def page_is_loaded(driver): 
    return driver.find_element_by_tag_name("body") != None 
driver = webdriver.Firefox() 
driver.get("https://internet-banking.dbs.com.sg/") 
wait = ui.WebDriverWait(driver, 10) 
wait.until(page_is_loaded) 
print(driver.page_source) 
email_field = driver.find_element_by_id("UID") 
email_field.send_keys(*UID*) 
password_field = driver.find_element_by_id("PIN") 
password_field.send_keys(*PIN*) 
password_field.send_keys(Keys.RETURN) 

、私は戻っていますselenium.common.exceptions.NoSuchElementException:メッセージ:要素を見つけることができません:私はdriver.page_sourceをチェックすると、また... 、結果はそのページのものです。

+1

どのラインでエラーが表示されますか? – MikeS

+0

'body'タグを返す行が失敗していると仮定しています。ページがまだロードされていないので例外がスローされるからです。 Expected Conditions、特に 'visibility_of_element_located'を使用し、本文の代わりにUIDを待つべきです。 – JeffC

+0

@MikeS driver.find_element_by_id( "UID")とfind_element_by_id( "PIN")。 –

答えて

0

私はbodyタグを返す行が失敗していると仮定しています。ページがまだロードされていないので例外がスローされるからです。予想される条件、具体的にはvisibility_of_element_locatedを使用し、本文ではなくUIDを待つ必要があります。

関連する問題