Hacer clic en WebDriver () frente a hacer clic en JavaScript ()

| | | | | |

La historia:

Aquí en StackOverflow, he visto usuarios que informan que no pueden hacer clic en un elemento a través del comando "clic" de Selenium WebDriver y pueden solucionarlo con un Haga clic en JavaScript ejecutando un script.

Ejemplo en Python:

element = driver.find_element_by_id("myid") driver.execute_script("arguments[0].click( );", elemento) 

Ejemplo en WebDriverJS/Transportador:

var elm = $("#myid"); browser.executeScript("argumentos [0].click();", elm.getWebElement()); 

La pregunta:

¿Por qué hace clic en "a través de JavaScript" funciona cuando un clic regular de WebDriver no lo hace? ¿Cuándo sucede exactamente esto y cuál es la desventaja de esta solución alternativa (si la hay)?

Personalmente usé esta solución alternativa sin entender completamente por qué tengo hacerlo y qué problemas puede ocasionar.