Python - Continuar Código tras Excepción (Try,Except)

 
Vista:

Continuar Código tras Excepción (Try,Except)

Publicado por Santiago (1 intervención) el 03/04/2020 19:34:10
tengo un bloque de programa de python y en un punto del mismo hay veces que me salta una excepción y otras que no, puesto que depende de si aparece un popup en una página web o no.

Me gustaría saber cómo he de utilizar las secuencias:

try:

except:

Para conseguir que en caso de que no se encuentre el botón del popup y salte la excepción el código no detenga su ejecución.

Hasta ahora lo que tengo es:
1
browser.find_element_by_css_selector(".largeBannerCloser").click()

que es la instrucción para encontrar el boton de cerrar el popup y hacerle click;

Y por otro lado la excepción que salta es del tipo
1
NoSuchElementException   ó    ElementNotInteractableException





Por si alguno tiene interés el código exacto que tengo ahora es:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
 
web_null='https://www.investing.com'
browser = webdriver.Firefox()
 
browser.get(web_null)
time.sleep(5)
 
#Esperamos a que aparezca el banner del registro
time.sleep(20)
browser.switch_to.default_content()
browser.execute_script("window.scrollTo(0,0)")
browser.find_element_by_css_selector(".largeBannerCloser").click()

Este es el error que me aparece si intenta hacer click en el la x del banner y este no está presente:
1
2
3
4
5
6
7
8
9
10
11
12
Traceback (most recent call last):
  File "C:/Users/santi/Desktop/DAX - copia - copia (16) - copia - copia/asdfasdf.py", line 44, in <module>
    browser.find_element_by_css_selector(".largeBannerCloser").click()
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: Element <i class="popupCloseIcon largeBannerCloser"> could not be scrolled into view

Gracias de antemano por sus respuestas y su tiempo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder