2017-07-17 8 views
1

ハイパーリンクをクリックしてクリックすると、ポップアップウィンドウが開きます。ユーザー名とパスワードを入力してからログインボタンを押したいが、目に見えない要素のエラーが出ている。私のユーザー名とパスワードフィールドが埋めなっているが、ボタンでログのクリック時にそれが適切にユーザー名とパスワードを移入されたが、私はこれを入力すると、それは私にエラーを与えるエラーpython seleniumエラーがポップアップウィンドウに表示される

driver = webdriver.Chrome() 
driver.get('https://www.website/') 

window_before=driver.window_handles[0] 
print('window before', window_before) 
driver.find_element_by_class_name("LoginModal").click() 
window_after= driver.find_element_by_class_name("loginwindow_2") 

print('window after', window_after) 

driver.find_element_by_id("username").send_keys("Enter") 

driver.find_element_by_id("password").send_keys(" password here") 

を与えます。

driver.find_element_by_class_name("bluebutton2") 

エラー

File "C:/Users/myfile/mucode.py", line 21, in 
<module> 

selenium.common.exceptions.ElementNotVisibleException: Message: element not visible 
    (Session info: chrome=59.0.3071.115) 
    (Driver info: chromedriver=2.30.477700 (0057494ad8732195794a7b32078424f92a5fce41),platform=Windows NT 6.1.7601 SP1 x86_64) 

答えて

0

ログインボタンをクリックしようとしていると仮定しています、これを試していただき、ありがとうございますクラス名"bluebutton2"の3つの要素。最初のものは隠されているので、ElementNotVisibleExceptionが得られます。必要な要素を照合するために、より特定のセレクターを使用するだけです。以下試してみてください:

driver.find_element_by_css_selector('td[valign="middle"]>button.bluebutton2').click() 

更新

あなたはいくつかの時間を待ってElementNotVisibleExceptionを避けるために、コードの下に使用できる入力フィールドを処理するには:

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

wait(driver, 10).until(EC.visibility_of_element_located((By.ID, "username"))).send_keys("Enter") 
wait(driver, 10).until(EC.visibility_of_element_located((By.ID, "password"))).send_keys("password here") 
+0

こんにちは、次の行の要素が見つかりませんでした>>>>>>>>>>>> driver.find_el ement_by_id( "username")。send_keys( "Enter") – Analyst

+0

その行のコードを教えてもらえますか? – Analyst

+0

あなたは 'NoSuchElementException'を意味しますか? 'driver.find_element_by_id(" username ")。send_keys(" Enter ")'? – Andersson

0

が動作しないことが、私はありますが

driver.execute_script('arguments[0].click();', driver.find_element_by_class_name('bluebutton2')) 
+0

今それを動作しますが、しませんでしたこんにちは、この行には表示されない要素と同じエラーが表示されます。>>>>>>>>>>>>> driver.find_element_by_id( "username")。send_keys( "Enter") – Analyst

関連する問題