select_by_value - Python Selenium webscraping "NoSuchElementException" no reconocido
selenium webdriver python windows (1)
Pruebe elt.NoSuchElementException
o driver.NoSuchElementException
ya que probablemente se haya definido en el alcance de uno de ellos. Alternativamente, puede que tenga que usar from selenium import NoSuchElementException
para ponerlo dentro del alcance.
Mejor aún: from selenium.common.exceptions import NoSuchElementException
A veces, en una página, buscaré un elemento que puede o no estar allí. Quería probar / atrapar este caso con una NoSuchElementException
, que el selenio arrojaba cuando ciertos elementos HTML no existían. Excepción original:
NoSuchElementException: Message: u''Unable to locate element: {"method":"css selector","selector":"#one"}'' ; Stacktrace:
at FirefoxDriver.prototype.findElementInternal_ (file:///var/folders/6q/7xcjtgyj32nfc2yp_y5tr9pm0000gn/T/tmp63Mz2a/extensions/[email protected]/components/driver_component.js:8899)
at FirefoxDriver.prototype.findChildElement (file:///var/folders/6q/7xcjtgyj32nfc2yp_y5tr9pm0000gn/T/tmp63Mz2a/extensions/[email protected]/components/driver_component.js:8911)
at DelayedCommand.prototype.executeInternal_/h (file:///var/folders/6q/7xcjtgyj32nfc2yp_y5tr9pm0000gn/T/tmp63Mz2a/extensions/[email protected]/components/command_processor.js:10840)
at DelayedCommand.prototype.executeInternal_ (file:///var/folders/6q/7xcjtgyj32nfc2yp_y5tr9pm0000gn/T/tmp63Mz2a/extensions/[email protected]/components/command_processor.js:10845)
at DelayedCommand.prototype.execute/< (file:///var/folders/6q/7xcjtgyj32nfc2yp_y5tr9pm0000gn/T/tmp63Mz2a/extensions/[email protected]/components/command_processor.js:10787)
Irónicamente, ¿no me dejará detectar esta excepción que estaba lanzando antes? Codifique aquí:
elt = driver.find_element_by_css_selector(''.information'')
try:
dat1 = elt.find_element_by_css_selector(''#one'').text
dat2 = elt.find_elements_by_css_selector(''#two'')[1].text
text = dat1 + dat2
except NoSuchElementException:
text = elt.find_element_by_css_selector(''#all'').text
item.set_description(text)
Error aquí:
NameError: name ''NoSuchElementException'' is not defined
La búsqueda de Google / documentación no tuvo ningún resultado ... y me parece extraño que el selenio esté bien lanzando una excepción pero no puede atraparlo.