No se puede realizar la acción de hacer clic en python selenium

Estoy escribiendo un guión de prueba usando selenium en python. Tengo una página web que contiene un objeto de vista de árbol como este:

introduzca la descripción de la imagen aquí

Quiero recorrer el menú para ir al directorio deseado. El código HTML respectivo para las indicaciones más / menos es esto:

   

El atributo src de la imagen puede ser https://stackoverflow.com/questions/19769532/unable-to-perform-click-action-in-selenium-python/open.gif o close.gif .

Puedo detectar si hay un signo positivo o negativo simplemente al verificar el atributo src de la etiqueta img . También puedo acceder fácilmente a la etiqueta principal, a , usando .find_element_by_xpath("..") .

El problema es que no puedo realizar la acción de clic, ni en el img ni en la etiqueta.

He intentado webdriver.Actions(driver).move_to_element(el).click().perform() ; Pero no funcionó.

Creo que debería mencionar que no hay ningún problema para acceder a los elementos, ya que puedo imprimir todos sus atributos; Simplemente no puedo realizar acciones en ellos. ¿Alguna ayuda?

EDITAR 1:

Aquí está el código js para contraer y expandir el árbol:

 function changeTree(tree, image1, image2) { if (!isTreeviewLocked(tree)) { var image = document.getElementById("treeViewImage" + tree); if (image.src.indexOf(image1)!=-1) { image.src = image2; } else { image.src = image1; } if (document.getElementById("treeView" + tree).innerHTML == "") { return true; } else { changeMenu("treeView" + tree); return false; } } else { return false; } } 

EDIT 2:

Busqué en Google durante algunas horas y descubrí que hay un problema sobre la activación de los eventos de javascript y la acción de hacer clic desde el controlador web. Además, tengo una etiqueta span en mi página web que tiene un evento onclick y también tengo este problema.

Después de algunos bashs como .execute_script("changeTree();") , .submit() , etc., resolví el problema utilizando la clase ActionChains . Ahora, puedo hacer clic en todos los elementos que tienen eventos java-script como onclick . El código que he usado es este:

 from selenium import webdriver driver = webdriver.Firefox() driver.get('someURL') el = driver.find_element_by_id("someid") webdriver.ActionChains(driver).move_to_element(el).click(el).perform() 

No sé si ocurrió solo para mí o qué, pero descubrí que debería encontrar el elemento justo antes del comando de teclado; De lo contrario, el script no realiza la acción. Creo que estaría relacionado con elementos estancados o algo así; De todos modos, gracias a todos por su atención.