2017-07-12 46 views
1

Webページにデータを書き込むためにログインしようとしていますが、試行するたびにElement Not Visibleが表示されます。私がクリックしようとしている要素は、モーダルウィンドウ内のボタンですが、そのウィンドウのhtmlはログインボタンがクリックされた後にのみ表示されます。私はログインボタンをクリックすることができますが、その後にポップアップする先生のボタンをクリックすることはできません。何か案は?モーダルウィンドウから要素が見えない - Selenium Python

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

login_url = 'https://edpuzzle.com/' 
username = '***' 
password = '***' 
ChromeDriver = r'C:\Users\admin\Python\chromedriver.exe' 

driver = webdriver.Chrome(ChromeDriver) 
driver.get(login_url) 
driver.find_element_by_css_selector('button.btn.btn-default- 
transparent').click() 
driver.find_element_by_css_selector('p.modal-title.text-lg.text-center.edp- 
role-title') 
driver.find_element_by_css_selector('button.btn.white-btn.btn-lg.btn- 
block.big-btn.edp-teacher-role').click() 

答えて

0

実際に表示される前にボタンをクリックしようとしています。しばらくお待ちください:

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

driver.get(login_url) 
driver.find_element_by_id('edp-login').click() 
wait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "button.btn.white-btn.btn-lg.btn-block.big-btn.edp-teacher-role"))).click() 
関連する問題