Python - error con driver.find_element

 
Vista:
sin imagen de perfil

error con driver.find_element

Publicado por Rafa (2 intervenciones) el 23/08/2023 12:47:27
Buenas estoy automatizando un proceso para bajarme un excel de una pagina y he ido solventando los diferentes puntos pero ahora estoy encallado aqui

este es el caso del CANCEL pero con el EXPORT XLSX también da error con una estructura similar de html

el html del punto es este

<span class="dijit dijitReset dijitInline secondary dijitButton" role="presentation" widgetid="dijit_form_Button_23"><span class="dijitReset dijitInline dijitButtonNode" data-dojo-attach-event="ondijitclick:__onClick" role="presentation"><span class="dijitReset dijitStretch dijitButtonContents" data-dojo-attach-point="titleNode,focusNode" role="button" aria-labelledby="dijit_form_Button_23_label" id="dijit_form_Button_23" tabindex="1" style="user-select: none;"><span class="dijitReset dijitInline dijitIcon dijitNoIcon" data-dojo-attach-point="iconNode"></span><span class="dijitReset dijitToggleButtonIconChar">●</span><span class="dijitReset dijitInline dijitButtonText" id="dijit_form_Button_23_label" data-dojo-attach-point="containerNode">Cancel</span></span></span><input type="button" value="" class="dijitOffScreen" data-dojo-attach-event="onclick:_onClick" tabindex="-1" role="presentation" aria-hidden="true" data-dojo-attach-point="valueNode"></span>

el codigo del click es este

clic_cancel = driver.find_element(By.ID, 'dijit_form_Button_23_label')
clic_cancel.click()

he probado tambien con la ID "dijit_form_Button_23" pero sigue dando el mismo error

he probado copiando el XPATH entero pero tambien me da error

Captura
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

error con driver.find_element

Publicado por antonio (65 intervenciones) el 25/08/2023 09:44:51
Este error puede ser porque este elemento esta oculto o esta es 0, esto es difícil de explicar pero cuando no se selecciona un elemento correctamente primero se debe decir al código que habrá esta ventana luego que seleccione el Full Catalog y all product data y ahora deberás comprobar si se activa el botón de descarga.

Por ejemplo para comprobar el botón de cancel esta activo:
clic_cancel = driver.find_elements_by_class_name("dijit dijitReset dijitInline secondary dijitButton")
if len(clic_cancel)>0:
clic_cancel.click()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error con driver.find_element

Publicado por Rafa (2 intervenciones) el 25/08/2023 14:04:54
Gracias Antonio
al final he realizado una "chapuza"

una vez focalizado en Full Catalog y All product Data
le envio pulsaciones de teclas, es feo, pero funciona.

keyboard.press_and_release("tab")
keyboard.press_and_release("tab")
keyboard.press_and_release("tab")
keyboard.press_and_release("enter")
time.sleep(1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar