2016-03-08 3 views
0

Я использую Selenium для очистки сайтов. Иногда веб-сайты не заканчивают загрузку по нескольким причинам. Если я элемент не появился в течение 10 секунд, я хочу закрыть браузер и перезапустить цикл.перезапуск, если элемент не найден после времени SELENIUM

wait = WebDriverWait(driver, 10) 
try: 
    wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "a.top"))) 
except TimeoutException: 
    driver.quit() 
    continue 

Но это не работает. Я думал, что wait.until выбрасывает TimeoutException, как описано here.

+0

Что на самом деле происходит, когда вы запускаете этот код? Также вы можете попробовать перезагрузить страницу, а не закрыть браузер? – DNA

+0

Как я узнаю, что элемент будет там, если я просто перезагружу страницу? Когда я запускаю этот код, сценарий может оказаться в ожидании загрузки страницы навсегда. – useriama

+0

Уверены ли отступы правильно? – alecxe

ответ

0

Я считаю, что вы ждете неправильного исключения, попробуйте:

expect NoSuchElementException: 
Смежные вопросы